分布式服务框架Dubbo+Zookeeper
Author QiuRiMangCao 秋日芒草
Zookeeper 能解决的问题
1.统一命名服务(server1:order服务名,server1:downOrder服务名,zk负责管理命名)
2.状态同步(用户状态,订单状态,在不同节点之间设置状态同步,保证各节点数据一致性)
3.集群管理(管理集群各节点协同对外提供服务)
4.分布式应用配置项的配置(多服务对应了不同的配置,zk负责统一配置信息)
5. ..
大型电商系统 - 业务拆分 | 应用集群部署
核心系统和非核心系统按业务拆分,在大流量时,可以关闭非核心系统,实现自动的优雅降级
大型电商系统最终架构
客户端层 - 负载均衡层 - 应用集群层 - 分布式服务层(dubbo,不直接对外提供,存在安全问题) - 资源层
Dubbo 能解决的问题
1.分层架构方式,松耦合,存在服务提供方(Provider)和消费方(Consumer)
2.高性能NIO通信以及多协议集成
3.服务动态寻址与路由(结合zk来做)
4.软负载均衡(实现Dubbo服务的系统服务提供负载是属于服务级别的负载)与容错
5.服务依赖分析与降级
Dubbo 服务调用
1.服务提供方发布服务到服务注册中心(Dubbo实现zk)
2.服务消费方从服务注册中心订阅服务
3.服务消费方调用已经注册的可用服务(Consumer invoke Provider)
4.dubbo-admin:监控服务提供方和消费方状态工程
Dubbo框架模块
1.dubbo-common 公共逻辑
2.dubbo-remoting 远程通信
3.dubbo-rpc 远程调用
4.dubbo-cluster 集群模块
5.dubbo-registry 注册中心
6.dubbo-monnitor 监控模块
7.dubbo-config 配置模块
8.dubbo-container 容器模块
服务可以支持多种负载均衡策略
1.随机
2.轮询
3.最少并发