『李越Java』微服务进行编排来确定组合调用分析( 二 )


因此适配不仅仅存在于编排服务的入参和被编服务的入参之间 , 还存在于被编服务与他之前的服务出参之间 。
『李越Java』微服务进行编排来确定组合调用分析
本文插图
最直接的方法是进行点对点的映射赋值 。
我么可以通过元数据对所有的入参和出参标记着色 , 就可以完成同样颜色之间的自动映射 。 四、编排服务的一致性
编排在一起的服务 , 采用强组合 。 可能通过一些应用发起 , 对调用法只返回结果 , 内部来保证采用最终一致性 。 这里并没有中心 , 是完全去中心化的 。 并且这些强组合进一步编排成更大的弱业务流程 , 中间可以正常中断 , 此时就需要一个总控 , 来显示强组合的状态 , 这些状态的用户来介入的操作 , 将启动强组合的业务逻辑 。
这样 , 我们要合理划分业务流程中的各服务之间的编排关系 。 数据库中主业务数据表的状态有一个总控状态 , 只记录在弱组合中的结果状态 。 服务强组合编排之间进行超时、重试 , 幂等 , 回退等 , 只有整体成功与失败 。
服务会有一定的强组合 , 就是最终一致性 , 而整体的业务会串起单一的或者组合编排的服务 。 强组合内不存在用户可介入的分支(如果重试、超时、意外的不一致 , 由后台管理介入) 。
我们的业务是整体的由中心控制的编制 , 与局部无中心化的编排的复杂的结合 。 五、总结
【『李越Java』微服务进行编排来确定组合调用分析】微服务之间是采用高内聚、低耦合的形式来设计的 。 高内聚的服务就应该采用编排 , 一致性 , 分布式锁等 。 而低耦合的微服务就是要进行编制 。


推荐阅读