分布式项目运用-Dubbo配置

来源:互联网 发布:conor maynard知乎 编辑:程序博客网 时间:2024/06/03 23:43

一、dubbo架构

这里写图片描述

节点角色说明: 
Provider: 暴露服务的服务提供方。 
Consumer: 调用远程服务的服务消费方。 
Registry: 服务注册与发现的注册中心。 
Monitor: 统计服务的调用次调和调用时间的监控中心。 
Container: 服务运行容器。

调用关系说明: 
1. 服务容器负责启动,加载,运行服务提供者。 
2. 服务提供者在启动时,向注册中心注册自己提供的服务。 
3. 服务消费者在启动时,向注册中心订阅自己所需的服务。 
4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 
5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 
6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

二、用法

dubbo主要有4个节点:提供方(提供接口)、消费方(调用接口处理逻辑)、注册中心(发布和订阅服务)、监控中心。


三、配置

一.提供者
1.首先引入两个http

111111

2.提供者基本配置


111111

111111

说明:各种属性我是在pom定义的

3.那么问题来了,dubbo配置好了,一般我们这个项目是jar包,不能用容器启动,那我们如何启动呢?,我看到好多都是,自写的main来启动的,其实dubbo jar包已经定义好了,

111


111


ok,运行main方法就行了,到这我们的提供者就完成了,那么如何查看,我们的接口有没有发布在zookeeper,百度下载个zookeeper ,win版的,

111

运行 cmd 命令 zkCli.cmd -service 192.168.61.19:2181


111

回车,连接zookeeper,连接之后输入 查看

ls /dubbo/cn.chinaclear.pop.appointment.AppointmentService/providers

返回如下内容表示成功

如果返回 【】 则表示,没有发布成功,

原因有两点 

1.dubbo配置错误

2.我们配的其他的xml配置文件,错误

111

二.消费者配置

111

这个用容器启动就可以了,

zookeeper 查看命令

ls /dubbo/cn.chinaclear.pop.appointment.AppointmentService/consumers


ok! 到这里就结束了,简单吧

阅读全文
0 0