java高级培训-dubbo架构的核心功能和作用原理

2020年10月19日 22:10

66

    Dubbo是阿里巴巴的开源高性能服务框架。它致力于提供高性能和透明的RPC远程服务调用解决方案以及SOA服务治理解决方案,以便应用程序可以通过高性能RPC实现服务的输出和输入功能以及Spring。该框架是无缝集成的。Dubbo包括三个核心部分:远程通信,群集容错和自动发现。


    它提供了透明的远程方法调用,它实现了像本地方法一样的远程方法的调用,配置简单且没有API入侵。同时,它具有软负载平衡和容错机制,可以代替内部网络中的F5等硬件负载平衡器,从而降低成本并减少单点。它可以实现服务的自动注册和发现,无需写下服务提供商的地址,注册中心可以根据接口名称查询服务提供商的IP地址,可以顺畅地添加或删除服务提供商。


    2011年底,阿里巴巴在GitHub上开放了基于Java的分布式服务治理框架Dubbo。此后,它成为了中国此类开源项目的领导者,许多开发人员对此表示了青睐。同时,许多公司实际上已经实现了基于Dubbo的分布式系统架构。当前在GitHub上,它的fork、star数均已破万。


    Dubbo框架的核心功能:


    远程通讯,基于持久连接提供了各种NIO框架的抽象封装,包括“请求-响应”模式下的多个线程模型,序列化和信息交换方法。


    群集容错,基于接口方法提供透明的远程过程调用,包括多协议支持,以及群集支持,例如软负载平衡,容错,地址路由和动态配置。


    基于注册中心目录服务的自动发现,使服务使用者可以动态查找服务提供商,使地址透明,并使服务提供商可以平滑地添加或减少计算机。

java高级培训


    Dubbo架构的工作原理


    服务提供者-在启动时将服务暴露在指定的端口上,并将服务地址和端口注册到注册表


    服务使用者-在注册中心启动时订阅您感兴趣的服务,以获取服务提供商的地址列表


    注册中心-负责服务注册和发现,保存服务提供商报告的地址信息,并将其推送给服务使用者


    监视中心-负责收集服务提供商和使用者的操作状态,例如服务呼叫次数,延迟等,以进行监视


    运行容器-负责服务提供商的初始化,加载和操作的生命周期管理


    部署阶段


    服务提供者在指定端口暴露服务,并向注册中心注册服务信息。


    服务消费者向注册中心发起服务地址列表的订阅。


    运行阶段


    注册中心向服务消费者推送地址列表信息。


    服务消费者收到地址列表后,从其中选取一个向目标服务发起调用。


    调用过程服务消费者和服务提供者的运行状态上报给监控中心。


    调用关系说明


    服务容器负责启动,加载,运行服务提供者。


    服务提供者在启动时,向注册中心注册自己提供的服务。


    服务消费者在启动时,向注册中心订阅自己所需的服务。


    注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。


    服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。


    服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。



更多鲁班学院java高级培训免费课程试听地址https://www.lubanjava.com/course.html

鲁班学院java高级培训课程https://www.lubanjava.com/course/detail/519.html

加群即可领取鲁班学院最新Java高级培训课程资料学习包 群号:700541970


在线咨询
免费试听
领取优惠
加群交流

扫一扫
加群领取架构师资料

售后反馈
返回顶部