服务结构何时使用远程调用与反向代理进行微服务通信

时间:2018-07-08 03:51:28

标签: azure-service-fabric

我在FrontEnd和另一个BackEnd上设置了2个标注类型的群集。前端具有无状态服务,后端具有Statefull和参与者服务。现在,我看到了一些示例,其中他们使用反向代理和 http:// 调用与有状态服务进行通信,而在其他地方,他们使用远程调用调用 fabric:// 如果在前端和后端节点类型之间发生数据密集型传输,这应该是更好的协议,则应分别使用每个协议?

2 个答案:

答案 0 :(得分:0)

实际上, fabric:// 本身不是协议,它只是Service Fabric Naming Service解析服务实际位置的语法。如果您不必向外部客户端公开服务,那么远程处理是一个更好的选择,因为在使用 http:// 仅使您遵循此协议。

答案 1 :(得分:0)

结构:// 只是一个Uri方案。它用于标识命名服务,例如: fabric:// MyApp / MyService

这个问题没有正确的答案,选择正确的方法要考虑很多变量。

您可以同时使用这两者,这绝对没问题。

它远不止于此,但我可以给出一个简单的概述:

使用HTTP通讯,这些服务仅依赖于彼此的端点,并且在开发和部署期间可以将它们彼此隔离,即使更改服务版本和技术堆栈,它们也可以进行通讯。您可以使用Java,GO,NodeJS之类的不同技术,并在服务之间保持顺畅的通信。

使用远程处理,您可能会获得更快的通信速度,但是服务之间的耦合度更高,因为两者都需要了解用于通信的相同接口和实体,以使它们保持同步(兼容),大多数时候都需要部署新版本两种服务结合在一起。

如果刚开始时性能不是问题,我建议使用HTTP简化操作,如果不满足您的要求,则进行迁移。

相关问题