将服务注册表放在独立的LAN中(在服务发现模式中)

时间:2016-05-31 20:53:55

标签: web-services architecture microservices service-discovery etcd

一些背景 我正在开发一个涉及独立LAN网络的项目,该网络包含许多Linux PC和1个中央Windows PC。对于linux PC和中央窗口PC,我需要编写Web服务(现在我在java中使用jersey)。我希望在中央PC上发布API网关,这需要知道其他PC的地址和端口,以便他可以解决他们的REST服务。

手头的问题

我的问题可分为两部分:

1)我将如何进行服务发现?从我的研究到现在我所了解的选项是: 使用etcd。看起来简单易行,但我没有看到它在API网关中管理数据库并在其上发布注册和取消注册服务的路径方面的好处。

2)其他linux PC的服务如何知道中央Windows PC的地址?我阅读了许多关于服务发现模式的文章,但没有找到一个关于服务知道服务注册的地址的部分的单一文章。让我们假设地址在局域网中是固定的,并且在我的系统工作时不会改变,但在部署时我不知道(我的客户需要在几个不同的局域网中部署它,中心站的地址可以是不同,我不相信他们在部署之前在配置中定义它

非常感谢您提供任何帮助:)

1 个答案:

答案 0 :(得分:1)

我没有回答的声誉,但出于类似的原因,我对这个问题很感兴趣。

您可能会发现这个问题和答案在programmers stackexchange讨论广播方法时很有用。

我正在研究etcd和Netflix eureka并尝试了解这是否可以应用于本地局域网。