dami2 - lpc 对接 rpc 或 mq
lpc 是基于 call 事件总线,可以有很多个提供者,(但有返回值时)只接收第一个答复。
1、对接 rpc 接口(比如 nami, dubbo)
dubbo 对接,只需要把客户侧实例注册为 lpc 提供者(即接收方)。且,方法名和参数对上即可。
@Configuration
public class Config{
@Bean
public void case1(@DubboReference HelloService helloService){
Dami.lpc().registerProvider("topic.demo", 0, helloService);
}
@Bean
public void case2(@NamClient HelloService helloService){
Dami.lpc().registerProvider("topic.demo", 0, helloService);
}
}
2、对接 mq
同上,把发送端注册为 lpc 的 registerProvider。或者使用 bus 模式注册(参考: dami - bus 之调用事件(call) )
Dami.bus().listen(topic, (event,data, sink) -> {
//这里只是示意代码。。。(如果由 lpc 发起请求,data 的格式与 lpc 编解码器有关)
String json = JSON.toJson(data);
Mq.send(event.getTopic(), json);
});