1. Dubbo介绍
1.1 什么是dubbo
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架(SOA),使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现
1.2 Dubbo的调用原理
1.DUBBO框架的底层实现RPC协议,不会执行HTTP协议
2.当服务生产者启动时,会将自己的服务名称/IP/端口号写入注册中心
3.注册中心接收服务器请求时,会将服务信息写入自己维护的服务列表中.
4.当服务消费者启动时,首先会链接注册中心.获取服务列表数据.并且保存到本地内存中.
5.当用户发起请求时,这时消费者根据用户的需求查询服务列表信息.基于负载均衡策略.查找正确的IP:端口之后发起RPC请求.
6.服务提供者接收用户的请求,之后开始完成业务处理.并且将数据返回.
注意事项:对象必须实现序列化接口.
7.当后台服务器宕机时.注册中心基于心跳检测机制.发现服务器宕机.同时更新自己的服务列表数据.同时全网广播.之后消费者接收注册中心的信息之后.也同步更新自己的本地数据.方便下次服务调用
2 . Zookepeer介绍
2.1 什么是Zookepeer
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是一个为分布式应用提供一致性服务的软件,提供的功能包