我有一个实时程序,使网络调用服务A采取有状态操作和网络调用服务B来记录该操作的历史记录。扭曲是:
我有一些想法,没有一个是理想的:
有没有解决方案,我们可以完整的日志镜像满足要求,100%的正确性?
你没有提到所有服务正在进行通信的协议,为了这个答案,我假设是HTTP。
就像你说的那样,你的可能解决方案听起来不像是适合你。
所以你说通过HTTP调用你的服务(让我们称之为X)通过HTTP再次调用两个服务A和B。如果你同时有很多对X的调用,那么就没有办法(或者至少很难)确保对A的调用顺序导致与B的调用顺序相同。但这又取决于你的要求和什么系统正在做什么,怎么样,也许每天只有一次呼叫你的系统?
我个人会建议使用队列,并转向事件驱动的架构。即使拥有最终一致的系统,您也可以让它运行得很热,并获得您想要的“实时”,这将花费您更多!
我希望这对你有用。我很想听听你对我的建议的看法。