部分图片和表述来自dubbo官网

dubbo 概述

背景

这是一个服务端架构发展的路径图

下面我们介绍后面两种,dubbo 正是处于RPC 范畴内的使用。

分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

需求

总结一下几个需求

  • 多节点服务端可供调用
  • 需要一个服务注册中心,动态地注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和 Failover,降低对 F5 硬件负载均衡器的依赖,也能减少部分成本。
  • 跟踪链路,多次调用依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系
  • 针对不同的机器分配不同的权重

架构


学习dubbo 最常见就是这张图了,几个角色如下

Provider :暴露服务的服务提供方
Consumer :调用远程服务的服务消费方
Registry :服务注册与发现的注册中心
Monitor :统计服务的调用次数和调用时间的监控中心
Container : 服务运行容器

参考资料

  • http://dubbo.apache.org/zh-cn/docs/user/demos/fault-tolerent-strategy.html (集群容错)
  • http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html

最新文章

  1. C++/CLI——读书笔记《Visual C++/CLI从入门到精通》 第Ⅳ部分
  2. SqlParameter中的size
  3. white的配置使用
  4. HDU 5389 Zero Escape
  5. android145 360 进程管理
  6. c++读取文本文件
  7. W3Cschool学习笔记——HTML基础教程
  8. 一个简单的java贷款程序
  9. 201521123019 《Java程序设计》第8周学习总结
  10. 201521123015 《Java程序设计》第4周学习总结
  11. crontab清理日志
  12. python实现双向链表
  13. Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问
  14. Perfmon——为什么“% Disk Time”计数器的值会大于100%?
  15. 关于System.in如何执行的问题
  16. Django之crm
  17. SpringBoot使用Mybatis注解进行一对多和多对多查询(2)
  18. css 边框使用
  19. 给用户授予权限时应该尽量避免ANY系统权限
  20. 部署MyEclipse及Tomcat服务器

热门文章

  1. webkit 技术内幕 笔记 二
  2. Cenos7下指定ftp用户限制在特定目录下(亲身实践)
  3. gulp常用插件之gulp-imagemin使用
  4. 谈一谈php反序列化
  5. 变量 Variables
  6. Pascal运行错误表
  7. LeetCode Continuous Subarray Sum 题解 同余前缀和 Hash表
  8. [Python]BeautifulSoup安装与使用
  9. AcWing 1057. 股票买卖 IV
  10. 安装多个jdk环境7、8、11等,并且切换默认使用版本