必须基于微服务的系统是否都在同一个网络中?

时间:2015-04-28 15:57:59

标签: performance cloud load-balancing microservices

我有一个分成几个组件的Web应用程序。由于某些原因(定价),我正在考虑在不同的云中部署未来的组件。

有没有人对此有参考和经验告诉我这是否绝对不好?我知道不同网络中的组件会降低性能。与此同时,我不喜欢失去新组件所在选择权的想法。

必须基于微服务的系统是否都在同一个网络中?你是如何处理这个问题的?

2 个答案:

答案 0 :(得分:1)

过去曾经使用多种服务,我可以告诉您,服务可以在不同的网络中运行。这就是CAS,SAML,OAUTH,HTTPS和HMAC等安全协议的原因。

因此,只要您能够处理网络管理,并且您的服务具有良好的安全性(我假设您这样做),那么我就不会担心打破一些未说出口的微服务规则。请记住,微服务如果写得很好并且很有用,预计会在互联网上使用,尤其是物联网,因此预计它们将用于多个网络。

答案 1 :(得分:1)

当你开始尝试这个时,我会非常关注带宽费用。以AWS为例,如果您在同一地区,则可以。如果有的话,服务之间的带宽不会花费太多。假设您使用AWS和Google Cloud。现在,您将为2个提供商之间的带宽付费。

作为建议,我会将Docker视为解决您的问题/关注供应商锁定的可能解决方案。

您将被限制为支持docker的提供程序,但理论上您可以轻松地在提供程序之间快速迁移,因为您的应用程序将从每个云提供程序体系结构中抽象出来。

性能,对于离开提供商数据中心的任何事情都会受到影响。我想通过一些调查,您可能会尝试研究使用共同互联网交换的提供商。这有助于至少减少一些跳数。