一、dubbo架构
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
1. 服务容器负责启动,加载,运行服务提供者。
2. 服务提供者在启动时,向注册中心注册自己提供的服务。
3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
二、用法
dubbo主要有4个节点:提供方(提供接口)、消费方(调用接口处理逻辑)、注册中心(发布和订阅服务)、监控中心。
三、配置
2.提供者基本配置
说明:各种属性我是在pom定义的
3.那么问题来了,dubbo配置好了,一般我们这个项目是jar包,不能用容器启动,那我们如何启动呢?,我看到好多都是,自写的main来启动的,其实dubbo jar包已经定义好了,
ok,运行main方法就行了,到这我们的提供者就完成了,那么如何查看,我们的接口有没有发布在zookeeper,百度下载个zookeeper ,win版的,
运行 cmd 命令 zkCli.cmd -service 192.168.61.19:2181
回车,连接zookeeper,连接之后输入 查看
ls /dubbo/cn.chinaclear.pop.appointment.AppointmentService/providers
返回如下内容表示成功
如果返回 【】 则表示,没有发布成功,
原因有两点
1.dubbo配置错误
2.我们配的其他的xml配置文件,错误
二.消费者配置
这个用容器启动就可以了,
zookeeper 查看命令
ls /dubbo/cn.chinaclear.pop.appointment.AppointmentService/consumers
ok! 到这里就结束了,简单吧