【发布时间】:2019-07-13 07:39:42
【问题描述】:
我有与微服务相关的查询。假设我有一个电子商务应用程序,其中我选择了一些产品并想购买它们一旦我选择了支付服务并开始支付,然后在支付完成后立即定向到第三方支付应用程序打算在电子商务网站上重定向我,但现在由于某种原因该网站已关闭,那么这种类型的交易如何跨服务处理?
【问题讨论】:
标签: java spring web-services microservices api-gateway
我有与微服务相关的查询。假设我有一个电子商务应用程序,其中我选择了一些产品并想购买它们一旦我选择了支付服务并开始支付,然后在支付完成后立即定向到第三方支付应用程序打算在电子商务网站上重定向我,但现在由于某种原因该网站已关闭,那么这种类型的交易如何跨服务处理?
【问题讨论】:
标签: java spring web-services microservices api-gateway
要处理这些类型的场景,您必须使用事件驱动的方法。简而言之,一个服务通过存储在消息队列中向另一个服务引发事件。其他服务将选择该消息。服务引发事件在发布之前将事件存储在本地。因此,如果它在发布之前中断,您始终可以在服务返回时从本地商店发布事件。订户服务也会发生同样的情况。它将从消息队列中选择事件,如果它不存在,则消息将保留在队列中,直到处理。简而言之,消息或事件始终存在,只要系统恢复,它就可以使用它。
【讨论】: