1.Dubbox 是一个分布式服务框架,Dubbox 致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,dubbox 就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有 dubbox 这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
如图为Dubbo的程序运行流程图。
(1)当一个服务启动后,也就是生产者会在Dubbo的注册中心进行注册。
(2)消费者会在调用之前去注册中心订阅服务,当服务开启时就会去唤醒消费者。
(3)消费者在唤醒后去调用生产者
(4)在消费过程中都会被监控中心所记录
2.使用:
官方推荐使用 zookeeper 注册中心。注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。
(1)在Linux系统中安装zookeeper注册中心
(2)结合spring容器来管理,在配置文件中进行如下配置:
生产者配置:
1 <dubbo:application name="dubboxdemo-service"/>
2 <dubbo:registry address="zookeeper://192.168.25.129:2181"/>
3 <dubbo:annotation package="com.hero.service" />
消费者配置:
1 <dubbo:application name="dubboxdemo-web" />
2 <dubbo:registry address="zookeeper://192.168.25.129:2181"/>
3 <dubbo:annotation package="com.hero.controller" />