前言
在某些场景下,不管是服务的提供方还是消费方,可能存在这么一种需求场景,即该应用只希望自己的服务接口仅做服务注册被其他服务调用,或者是仅仅订阅其他服务,而不会被其他服务调用,即所谓的单功能注册中心;
仅订阅
对于某服务来说,其可以发现和调用注册中心中的其它服务,但不能被其它服务发现和
调用,这种情形称为仅订阅。
简单说就是,仅可去发现,但不能被发现。
其底层的实现是,当前服务可以从注册中心下载注册列表,但其不会将自己的信息写入
到注册列表。
设置方式
对于“仅订阅”注册中心的实现,只需修改提供者配置文件,在dubbo:registry/标签中添加 register=”false”属性。即对于当前服务来说,注册中心不再接受其注册,但该服务可以通过注册中心去发现和调用其它服务。
<dubbo:registry address=“zookeeper://IP:2181” register=“false”/>
仅注册
对于某服务来说,其可以被注册中心的其它服务发现和调用,但不能发现和调用注册中心中的其它服务,这种情形称为仅注册。
简单来说就是,仅可被发现,但不能去发现。
从底层实现来说就是,当前服务可以写入到注册列表,但其不能下载注册列表。
设置方式
对于“仅注册”注册中心的实现,只需修改提供者配置文件,在dubbo:registry/标签中添加 subscribe=”false”的属性。即对于当前服务来说,注册中心中的其它服务可以发现和调用当前服务,但其不能发现和调用其它服务。
<dubbo:registry address=“zookeeper://localhost:2181” subscribe=“false”/>