dubbo 既是提供方又是消费方的问题

dubbo既是服务提供方,又是消费方,直接在dubbo的配置文件中一起写就好了。但注意端口号一定要不一样,一个提供方一个端口

<!-- Dubbo的服务消费方 -->
<!-- 1:起名  -->
<dubbo:application name="dubbo"/>
<!-- 2:连接zookeeper  redis  -->
<!-- <dubbo:registry address="60.205.231.241:2181" protocol="zookeeper"/> -->
<!-- 3:引用接口 -->
<!-- <dubbo:reference interface="com.cxhz.dahui.service.auth.UserServiceI" id="userServiceI"/> -->


<!--服务提供方-->
<!--  <dubbo:protocol port="20880" />  -->
<!-- 4:暴露接口 -->
<!-- <dubbo:service interface="com.tongtong.service.ArticleService"
ref="articleService" /> -->


<!-- 全局设置 -->
<!-- <dubbo:consumer  timeout="600000" check="false"/> -->

Dubbo是一个高性能的Java RPC框架,它主要解决的是高性能和跨语言的服务调用问题。在实际的应用场景中,可能会需要将服务提供消费的服务进行合并,以简化部署和管理。以下是一个简单的合并提供消费服务的案例: 1. **服务提供(Provider)**:首先,需要定义一个服务接口,并在服务提供实现该接口。使用Dubbo的注解或XML配置来暴露服务。 ```java // 服务接口 public interface MyService { String sayHello(String name); } // 服务实现 @Service(version = "1.0.0") public class MyServiceImpl implements MyService { @Override public String sayHello(String name) { return "Hello " + name; } } ``` 2. **服务消费(Consumer)**:在服务消费,通过注入服务接口来调用远程服务。消费也可以实现相同的服务接口,但在实际调用中,Dubbo会自动路由到远程服务。 ```java // 消费 @Service public class MyServiceConsumer { @Reference(version = "1.0.0") private MyService myService; public void consumeService() { String message = myService.sayHello("Dubbo Consumer"); System.out.println(message); } } ``` 3. **合并提供消费**:在某些情况下,服务提供也可以作为服务消费调用其他服务。为了合并提供消费,可以在同一个应用中同时暴露服务接口和引用服务接口。 ```java // 同时作为提供和服务消费的应用 public class MyServiceFacade implements MyService { @Reference(version = "1.0.0") private MyService myService; @Override public String sayHello(String name) { // 这里可以集成其他业务逻辑,然后调用本地或远程服务 String otherServiceResponse = myService.sayHello(name); // 添加其他逻辑 return "Processed: " + otherServiceResponse; } // 可以通过这个接口暴露服务 @Service(version = "1.0.0") public String processAndSayHello(String name) { return this.sayHello(name); } } ``` 在这个例子中,`MyServiceFacade`即是服务提供,因为它通过`@Service`注解暴露了`processAndSayHello`法;同时它也是服务消费,因为它通过`@Reference`注解引用了`MyService`接口的远程实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值