我目前正在写有一堆微服务的Web应用程序。我目前正在探索如何正确地所有这些服务之间的沟通,我决定坚持使用一个消息总线,或者更具体的Apache卡夫卡。
但是,我有我不知道如何从概念上得到解决的一些问题。我使用的是API网关服务为主体的进入到应用程序。它作为主要的代理转发操作适用的微服务。考虑以下情形:
所以,我怎么现在应该从网关响应客户端?如果我需要从微服务的一些数据?感觉就像是HTTP请求可能超时。我应该坚持与客户和API网关之间的替代的WebSockets?
而且,如果客户端发送一个GET请求来获取一些数据,我怎么接近,使用卡夫卡?
谢谢。
你有一个选项,在网关创造更多的端点?
我将有POST端点专用只是用于生产消息给卡夫卡队列,其中其他微服务会消耗。而从端点返回的对象,它会含有某种参考或ID来获取消息的状态。
而在网关在那里你可以创建时,你得到的信息的参考获取消息的状态创建另一个GET端点。
比方说,你要创建一个订单。这是它应该是如何工作的: