dubbo学习(一)认识

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

dubbo 概述

背景

这是一个服务端架构发展的路径图 1297993-20200221144249665-386621264.jpg 下面我们介绍后面两种,dubbo 正是处于RPC 范畴内的使用。

分布式服务架构

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

流动计算架构

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

需求

总结一下几个需求

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

架构

1297993-20200221145052630-811632982.jpg 学习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
原文地址:https://www.cnblogs.com/Benjious/p/12341379.html