使用公共服务和Consul.io设计多服务架构

时间:2016-09-25 12:28:38

标签: rest web architecture microservices consul

我有一个关于使用Consul.io进行服务发现的微服务设置的设计问题(可能适用于其他服务发现工具)。

(所有服务和网络节点都将使用.NET框架构建)

我们正在构建一个包含2个或更多前端节点以及后端的一系列服务的解决方案。其中一项服务将是向前端网站提供产品搜索。我们正在考虑使用Consul.io为这些服务提供冗余。前端将使用AngularJS显示使用REST端点进行查询的产品。我的问题是什么是更好的设置:

  • 每个Web节点都拥有自己的产品服务,该服务使用Consul.io查找(健康检查等)中继到内部产品服务
  • 前端客户端直接连接到产品服务。

在第二种情况下,我想知道客户端如何连接到后端服务以及发现如何工作。另外,我想知道这两个中哪一个是更好的设计选择。在我看来,使用第一个选项会通过执行两次HTTP调用来增加开销。

我很期待你的想法。

1 个答案:

答案 0 :(得分:0)

这没关系,因为这种决定通常应该基于您自己的架构偏好和限制。这取决于你认为什么对你更好,因为它是严格的建筑。它更多的是定义您希望数据流如何流动。

我能想到的是,你为什么要使用领事?因为领事不会给你冗余。它是一种动态服务发现解决方案。当您拥有大量动态显示/消失的服务并且想要发现它们并使用和跟踪它们的健康时,就可以使用它。

如果您只想在简单的静态集群中实现冗余,那么简单的反向代理服务器对您来说将是一个很好的选择,例如haproxy,nginx等。

相关问题