我的项目是使用微服务架构创建的,一个企业可能需要多个服务调用。当前,大多数服务调用都需要串行调用,因为下一个服务调用的请求是根据上一个服务调用的响应生成的。这使得调用链很长,性能很差,请问有没有解决这种情况的解决方案?还是我需要更改微服务设计?谢谢!
答案 0 :(得分:0)
您可以尝试实现诸如Apache Kafka之类的队列解决方案,以解决部分问题,第一个微服务处理数据并将数据发布到队列中,第二个微服务从此队列读取...。并发布到另一个队列。
这种方法可以提高性能,因为您可以增加进入Kafka的分区数量,但是在将任务发送到下一个服务之前,您需要分析您真正需要处理的内容,如果该任务可以被瘫痪,则可以被瘫痪。您可以创建一些线程来提高性能。
您有很多选择,但是对于微服务“对话”,我建议使用队列。
祝您的项目好运。