我已经阅读了一些文章并观看了一些视频,但在提供这些微服务方面没有找到具体的建议。我的理解是它们应该与自己的应用程序服务器一起提供。
我的问题是它们应该部署在不同的服务器上还是无关紧要。
当它们在同一台服务器(计算机)上提供时,是否会出现端口冲突?
答案 0 :(得分:3)
我已经阅读了一些文章并观看了一些视频,但在提供这些微服务方面没有找到具体的建议。我的理解是他们应该使用自己的应用服务器。
这不是必要的。 Play和Spray等框架不需要应用程序服务器。
见here - 我引用:
您也不会在应用服务器中找到任何真正的基于微服务的体系结构,这些都会让人失望。为此微服务自托管,他们抓住一个端口听。这意味着您将失去典型企业应用程序服务器可能带来的任何好处,并且您的服务需要提供一些更重要的(仪器,监视等)。
我的问题是它们应该部署在不同的服务器上还是无关紧要。
您肯定希望共享服务器以节省硬件资源。容器化(参见例如Docker和OpenShift)是一个非常好的模型。
当它们在同一台服务器(计算机)上提供时,是否会出现端口冲突?
如果您使用虚拟IP地址并绑定到VIP,则不会。
或者,Docker有不同的方法。它绑定到一个随机端口;然后你可以在该服务的“商定”端口上移植该端口,以将其暴露给外部世界。