我需要集成3-5现有和现成的服务,这些服务是由不同的团队开发的.这类似于集成几个独立的单块应用程序。
非常想要的特性是有一个中央通信组件,可以记录所有的请求(或者在它们有大的有效负载时部分记录),这样就可以快速地看到什么服务用什么有效负载发送了请求,以及什么时候出了问题。
第二个任务是安全。它是保护服务间通信的需要。
我已经研究这个话题好几天了。这就是我到目前为止想出来的:
我读过关于ESB的文章,我不确定这个解决方案是否可以使用。
维基百科的图片显示如下:
ESB的问题在于它不仅实现了独立服务之间的通信。还将通信本身从同步请求响应模型更改为异步消息传递风格的。目前,我们不需要异步消息传递(将来可能需要异步消息,但现在不需要)。
ESB允许进行请求-响应通信,但是以一种非常不方便和复杂的方式生成相关ID,创建临时响应主题和使用者。有了这一点,我怀疑使用ESB具有超级复杂的请求-响应消息传递风格是否有更大的优势,还是简单地使用普通的REST调用(RPC)。但是,使用REST,不可能有一个可以记录服务之间所有通信的集中式组件。Message也存在类似的问题(因为它还涉及异步消息传递)。
是否有现成的解决方案/模式将几个服务(而不是微服务)与集中式日志记录、安全配置集成在一起,并具有简单的实现同步请求-响应模型(如果需要的话,以后可以添加消息传递)?
https://stackoverflow.com/questions/67651129
复制相似问题