https://blog.csdn.net/qq_38340127/article/details/112742445中对消费者的调用初步进行了了解,那么在请求发送后,服务端是如何进行请求响应的?
1、同个服务下多个Impl是否开启多个Server
首先在服务端再加一个interface以及对应的实现
package org.apache.dubbo.demo;
public interface TestService {
String goodBye(String name);
}
package org.apache.dubbo.demo.provider;
import org.apache.dubbo.demo.TestService;
import org.apache.dubbo.rpc.RpcContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestServiceImpl implements TestService {
private static final Logger logger = LoggerFactory.getLogger(TestServiceImpl.class);
@Override
public String goodBye(String name) {
logger.info("goodBye " + name + ", request from consumer: " + RpcContext.getContext().getRemoteAddress());
return "goodBye " + name + ", response from provider: " + RpcContext.getContext().getLocalAddress();
}
}
服务暴露过程参考
https://blog.csdn.net/qq_38340127/article/details/112698774
进行调试查看:
第一个org.apache.dubbo.demo.DemoService暴露无差异
当第二个接口进行暴露是org.apache.dubbo.demo.TestService
本地暴露一样
exporterMap此时有了两个key,value