博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dubbo总结(三)
阅读量:3960 次
发布时间:2019-05-24

本文共 2360 字,大约阅读时间需要 7 分钟。

一、dubbo监控中心(dubbo-monitor-simple的使用)

 

1、运行项目

链接:https://pan.baidu.com/s/1AXDTzRB_5jsds5nN8a_Lig   提取码:2w00

记得先把本机的zookeeper启起来

控制台即dubbo-admin,链接解压后可以看到一个dubbo-admin-master

的目录,将它作为Maven项目在IDEA中打开即可,然后运行dubbo-monitor-simple子项目

2、访问端口

在地址栏输入:localhost:8080

出现如下界面,dubbo-monitor-simple(监控中心启用成功)

二、使monitor标签在xml中

 

1、进入官网

百度Dubbo,进入官网后 按红框指示点击即可

2、找到文档

3、阅读文档

 

总结:在xml中有如下两种整合方式

第一种方式,会自行从注册中心找到监控中心的位置

三、 SpringBoot整合Dubbo

 

 

【生产者】

1、导入依赖

com.alibaba.boot
dubbo-spring-boot-starter
0.2.0

2、配置文件application.properties

使用统一配置的方式取代provider.xml文件

server.port=1111#指定当前服务的名字dubbo.application.name=student-service-provider#指定注册中心位置dubbo.registry.address=zookeeper://127.0.0.1:2181#指定通信规则和端口dubbo.protocol.name=dubbodubbo.protocol.port=20880#指定监控中心的位置dubbo.monitor.address=registry

 3、暴露服务

使用@Service(com.alibaba.dubbo.config.annotation.Service)来暴露服务

4、开启服务

在项目启动类上使用@EnableDubbo注解,开启基于注解的dubbo功能

 

【消费者】

1、同上

2、同上

3、远程引用

引用StudentService从注册中心发现,使用@Reference注解

4、同上

5、修改StudentController

@Controllerpublic class StudentController {    //@Resource    //com.alibaba.dubbo.config.annotation.Reference    //远程引用StudentService从注册中心发现    @Reference    StudentService studentService;    @RequestMapping(value = "/dubbo",method = RequestMethod.GET)    @ResponseBody    public String getStudent(){        Student student = studentService.getStudentById("1");        return student.toString();    }}

 

【测试是否整合成功】

启动生产者和消费者,访问端口

四、dubbo配置属性加载顺序

 

1、进入官网,找到文档

2、阅读文档

3、验证官网结论

3.1、配置虚拟机参数

3.2、配置两个属性文件

验证dubbo配置属性加载顺序与官网描述一致

总结虚拟机参数 > application.properties (dubbo.xml)> dubbo.properties

Dubbo的重要功能

 

1、启动时检查

三个要点:

1、关闭某个服务的启动时检查 (没有提供者时报错)

2、关闭所有服务的启动时检查 (没有提供者时报错)

3、关闭注册中心启动时检查 (注册订阅失败时报错)

 

2、超时

设置超时时间 (默认值是1000ms)

在application.properties中的配置方式:dubbo.consumer.timeout=

在接口级别的配置方式 @service(timeout = )

 

3、不同粒度配置的覆盖关系

以 timeout 为例,下图显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似:

  • 方法级优先,接口级次之,全局配置再次之。(精确优先)
  • 如果级别一样,则消费方优先,提供方次之。(消费者优先)

其中,服务提供方配置,通过 URL 经由注册中心传递给消费方。

方法——>接口——>服务

dubbo-config-override

 

4、重试次数(retries)

不包含第一次调用,0代表不重试

非幂等(不可设置重试次数)【新增】

幂等(可以设置重试次数)【查询,删除,修改】

在application.properties中的配置方式:dubbo.consumer.retries=3

 

5、多版本

灰度发布就是多版本的功能

当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。

可以按照以下的步骤进行版本迁移:

  1. 在低压力时间段,先升级一半提供者为新版本
  2. 再将所有消费者升级为新版本
  3. 然后将剩下的一半提供者升级为新版本

 

6、本地存根

解释的已经很详细了

 

转载地址:http://mqazi.baihongyu.com/

你可能感兴趣的文章
JSP编程进度条设计
查看>>
精心收集的面试笔试题库,网络上很难找到这么齐全的,推荐给大家
查看>>
教学视频
查看>>
JS操作Cookie详解
查看>>
Java正则表达式详解
查看>>
myeclipse 快捷键
查看>>
对div排序
查看>>
读写blob类型字段
查看>>
js类型转换
查看>>
spring实例化Bean理解
查看>>
Mac下配置JAVA_HOME
查看>>
fedora 安装mp3播放器插件
查看>>
赏心悦目的宏代码
查看>>
理解套接字recv(),send()
查看>>
发一个C++写的跨平台的BlockingQueue
查看>>
Linux TCP/IP协议栈剖析【体系结构篇】
查看>>
游戏开发中预防内存泄露的一些措施
查看>>
以前的文章全部移除了。
查看>>
几首歌
查看>>
蝴蝶泉边
查看>>