dubbo基础
概念
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [1] Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
–摘自百度百科
主要核心部件
Remoting: 网络通信框架,实现了 sync-over-async 和request-response 消息机制.
RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
–摘自百度百科
工作原理
Provider
服务提供者,暴露并且提供服务
Consumer
服务消费者,调用服务方
Registry
服务注册中心,服务发现和注册功能
Monitor
服务监控中心,统计服务的调用次数和调用时间的日志服务
代码
订单服务和用户服务注册到注册中心,这里使用zookeeper作为注册中心,dubbo-api打成jar包,对外暴露服务,用户服务pom.xml加入dubbo-api的jar包依赖,在用户服务中使用ClassPathXmlApplicationContext
创建上下文,
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"order-customer.xml"})
通过ClassPathXmlApplicationContext#getBean("orderService")
获得orderService的实例
订单服务,对外暴露接口
订单服务,具体实现类
用户服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLS6skkU-1616400752934)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210322160324231.png)]