最近自学到了Dubbo,我是跟着动力节点的视频在学,并且整理了相关笔记,分享给大家,也为以后复习用
视频资源:https://www.bilibili.com/video/BV1Sk4y197eD
第四章 匹配服务
默认使用接口名称作为服务匹配,找到服务提供者。
dubbo使用接口, version, group 三个值唯一匹配服务。 当没有version或者group使用接口名称作为唯一匹配条件
version:表示版本
group:分组
使用version,group区分接口的不同实现。
4.1 version
version:版本。 可以用来区分同一个接口的不同实现。 消费者和提供者必须使用相同的版本,否则调用失败。
提供者
<dubbo:service interface="xxxx.SomeService" version="1.0" />
dubbo使用: xxxx.SomeService:1.0 表示这个唯一的服务提供者
消费者:
<dubbo:reference interface="xxxx.SomeService" version="1.0" />
dubbo调用: xxxx.SomeService:1.0 调用对于的提供者
4.2 group
使用group区分服务的不同实现,接口的不同使用。 消费者和提供者要匹配group名称。
提供者:
<!--暴露服务使用group-->
<dubbo:service interface="com.bjpowernode.service.MenuService"
ref="fileService"
group="file" />
<dubbo:service interface="com.bjpowernode.service.MenuService"
ref="editMenuService"
group="edit" />
消费者:使用指定组
<dubbo:reference interface="com.bjpowernode.service.MenuService"
id="fileMenuService"
group="file" />
使用任意组
<dubbo:reference interface="com.bjpowernode.service.MenuService"
id="fileMenuService"
group="*" />
4.3 Dubbo中的Filter

使用自定义Filter步骤:
-
创建类实现org.apache.dubbo.rpc.Filter接口, 实现invoke()
-
配置自定义Filter。
1)在 resources 下创建 META-INF/dubbo 目录
2)创建文本文件,名称org.apache.dubbo.rpc.Filter
3)在文件中,说明自定义的Filter类信息
自定义过滤器对象名称=自定义过滤器类的全限定名称
-
指定提供者使用某个Filter对象
<dubbo:service interface="com.bjpowernode.service.HelloService" filter="filter自定义名称"/> -
消费者调用提供者, 先执行filter
本文是关于Dubbo学习的笔记,主要探讨了如何通过version和group进行服务匹配,以及Dubbo中的Filter机制。内容包括version用于区分接口的不同实现,group用于分组,以及创建自定义Filter的步骤。
1208

被折叠的 条评论
为什么被折叠?



