0
点赞
收藏
分享

微信扫一扫

Biz-SIP业务中台案例实战(4)——通过Sink透传App服务直接调用Sink服务

Biz-SIP金融级业务中台(http://bizsip.bizmda.com))是一套基于领域驱动设计(DDD),用于快速构建金融级云原生架构的服务整合中间件,包含了在金融场景里锤炼出来的最佳实践。

Biz-SIP业务中台在交易处理时,会先后涉及Source层、App层和Sink层的处理,为了规范各层的调用关系,Source层的OpenAPI接口和Source模块,是不能直接调用Sink层的Sink模块的,要求一定要通过App层的App服务来进行编排和组装。
在“Biz-SIP业务中台案例实战(2)——App服务调用Sink服务”这节中,App服务是需要编写Java类来实现的。
本节介绍使用Sink透传App服务,无需编写App服务代码,就能让Source模块和开放OpenAPI接口,直接调用Sink层的hello-sink服务:
在这里插入图片描述

一、Sink层Sink服务的开发和配置

Sink层Sink服务的开发和配置,我们需要编写一个Sink服务类,配置sink.yml,以及配置application.yml以激活启动Sink服务,具体的相关介绍 ,请参见本专栏的“Biz-SIP业务中台案例实战(2)——App服务调用Sink服务”一节,这里不再讲解。

二、App层App服务的开发和配置

对于Sink透传App服务,只需要在app.yml中配置即可:

- app-service-id: /sink/hello-sink
  type: sink-service
  sink-id: hello-sink

可以看到在app.yml中,配置了App服务“/sink/hello-sink”,类型为Sink透传App服务(sink-service),透传调用的Sink服务为“hello-sink”。

三、启动应用进行测试

启动SampleSinkApplication、SampleAppApplication应用,通过开放平台接口发起请求,就可以接收到响应,返回的报文内容增加了message域:

$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:/sink/hello-sink" -X POST --data '{"accountNo":"003"}' http://localhost:8888/api|jq

{
  "code": 0,
  "message": "success",
  "extMessage": null,
  "appServiceId": "/sink/hello-sink",
  "traceId": "d310149f0f9d4df7824617235239210b",
  "parentTraceId": null,
  "timestamp": 1646706999650,
  "data": {
    "message": "hello!",
    "accountNo": "003"
  }
}

Biz-SIP官方网站:http://bizsip.bizmda.com
Gitee:https://gitee.com/szhengye/biz-sip

举报

相关推荐

0 条评论