如何使用微服务处理长调用链

时间:2018-12-24 03:31:15

标签: java microservices

我的项目是使用微服务架构创建的,一个企业可能需要多个服务调用。当前,大多数服务调用都需要串行调用,因为下一个服务调用的请求是根据上一个服务调用的响应生成的。这使得调用链很长,性能很差,请问有没有解决这种情况的解决方案?还是我需要更改微服务设计?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试实现诸如Apache Kafka之类的队列解决方案,以解决部分问题,第一个微服务处理数据并将数据发布到队列中,第二个微服务从此队列读取...。并发布到另一个队列。

这种方法可以提高性能,因为您可以增加进入Kafka的分区数量,但是在将任务发送到下一个服务之前,您需要分析您真正需要处理的内容,如果该任务可以被瘫痪,则可以被瘫痪。您可以创建一些线程来提高性能。

您有很多选择,但是对于微服务“对话”,我建议使用队列。

祝您的项目好运。