在供应链中台这样复杂的微服务架构中,下游服务的开发者会面临什么难题?
在供应链中台这样复杂的微服务架构中,上游服务的开发者会面临什么难题?
使用事件驱动设计怎么实现契约定义和运行时的全面解耦?
在基于请求/响应方式的服务化架构中,上游服务按照约定的RPC接口调用下游服务,这样有一个比较严重的问题:上游服务作为数据(例如业务单据)的生产者,强依赖了作为数据消费方的下游服务所定义的接口,导致上游服务自身无法沉淀接口和数据标准。这种问题怎么解决?
1、上下游完全解耦,上游服务只要保证将事件成功发送到Broker,无论有几个下游消费者,都不会影响自身的RT,也不需要考虑下游服务之间的一致性; 2、下游服务在接入新的事件时,只需要在事件管理服务中走完订阅审批流,不需要等待事件发布者排期和联调; 3、通过事件Broker提供的事件过滤能力,下游服务只需要消费与自身相关的事件流量(例如:天猫超市的计费服务只需要消费tenantId为天猫超市的采购单创建事件,而不需要消费银泰租户的采购单创建事件); 4、通过事件Broker提供的事件存储能力和重投能力,即使上游服务发送的事件流量超过了下游服务的处理能力,也只会影响下游服务的消费延迟,不会导致大量请求失败的情况。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。