微服务通信/部署

时间:2014-06-01 17:21:41

标签: angularjs http soa

我阅读了有关微服务概念和架构以及REST的几篇帖子和演示文稿,但无法找到一些基本问题的答案。

  1. 如果服务 A 取决于服务 B ,服务 A 如何知道在哪里找到(主机和端口)服务B ?我猜硬编码不是很好。

  2. 例如,如果我有一个请求部署多个服务的AngularJS客户端,角度应用程序如何知道如何找到这些多个服务?再次,硬编码听起来不对。

  3. 提前谢谢

2 个答案:

答案 0 :(得分:0)

AngularJS已经出现了Dependency Injection。用它来构建你的依赖项。

如果你想减少"硬编码"此外,我想你可以部署一个" Service Registry,"这可以维护所有的依赖关系。然后,您可以调用Service Registry服务来获取端口号等,并将它们保存在一个位置。不过,对我来说似乎有点矫枉过正。

答案 1 :(得分:0)

这是一个基于Java的问题解决方案,但它是一种非常成熟的方法。看看Spring Cloud / Netflix OSS。 Spring Cloud项目在github上有一个使用AngularJS和构成Spring Cloud解决方案的各种后端服务的工作示例。

具体如下:

尤里卡 - > Service Discovery,解决了主机和端口的问题

Zuul - > HTTP代理,解决了通过Eureka集成查找当前主机和端口的问题。 Zuul可以帮助安全,CORS等。

另一种可能的解决方案是Zookeeper。我没有使用Zookeeper的经验。