我有一个与微服务有关的查询。假设我有一个电子商务应用程序,在该应用程序中我选择了几种产品并想购买它们。一旦选择了付款服务并启动了付款,然后在完成付款后直接转到第三方付款应用程序打算在电子商务网站上重定向我,但由于某种原因该网站已关闭,那么如何跨服务处理此类交易?
答案 0 :(得分:0)
要处理这些类型的方案,您必须使用事件驱动的方法。简而言之,一个服务通过存储在消息队列中而向另一服务引发事件。其他服务将选择该消息。服务引发事件在发布事件之前将其存储在本地。因此,如果在发布之前中断,则您可以在服务恢复时始终从本地存储中发布事件。订户服务也是如此。它将从消息队列中选择事件,如果不存在,则消息将保留在队列中直到处理。简而言之,消息或事件始终存在,并且只要系统恢复运行就可以使用它。