dubbo 多个相同服务怎么调用

dubbo 多个相同服务怎么调用,第1张

web 层应该调用service层,在service层才调用dubbo的service是比较合理的,因为在service层可能会调用多个dubbo service,这些都属于业务逻辑代码,在这里可以进行单元测试,如果你在web层,单元测试实现比较困难,结构的划分也比较混乱!

dubbo启动有一个选项:即是否检查依赖的服务是否启动,把这个选项置为false就可以了。
这个是从文档上面摘下来的:
<dubbo:reference interface="comfooBarService" check="false" />

:框架:springmvc+spring+zookeeper+dubbo项目分三层,model存放数据,view页面展示、controller下面具体逻辑实现。通过dubbo消费方和供应方注册,供应方给消费方暴露接口,供消费方调用。

直连加不发布服务
DUBBO的配置属性里面对消费端提供了不从注册中心发现服务的机制,直接配置远程接口的地址,这样可以保证消费端连接到制定的环境接口。这样消费端是解决了问题,但是服务提供端呢?如上图的B1它即是消费端也是服务提供端,它提供A1所依赖的接口,那么如果B1将它的服务发布到注册中心里面(这里需要提醒,STABLE环境机制里面所有子环境公用一个注册中心),那么势必会导致stable环境里面的A会发现B1提供的服务?势必会导致stable环境的不稳定(stable环境的机制是stable环境只能进不能出,就是不能调用外部其他子环境的服务)?所以B1不能发布服务到注册中心,dubbo也提供了相关的配置属性来支持这一点。下面我例举出通过哪些配置可以实现这种方案:
服务消费端:
DUBBO在消费端提供了一个url的属性来指定某个服务端的地址
<!--lang:xml-->
<dubbo:reference interface="comalibabadubbodemoHelloWorldService" check="false" id="helloWorldService"/>
默认的方式是从注册中心发现接口为comalibabadubbodemoHelloWorldService的服务,但是如果需要直连,可以在dubboproperties下面配置dubboreferencehelloWorldServiceurl=dubbo://ip:port/comalibabadubbodemoHelloWorldService可以通过配置dubboreferenceurl=dubbo://ip:port/来让某个消费者系统的服务都指向制定的服务器地址(关于配置信息可以参考《DUBBO配置规则详解》)


请教dubbo 使用 >

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10409806.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-08
下一篇2023-05-08

发表评论

登录后才能评论

评论列表(0条)

    保存