我有一些(python)微服务可以用作我的Web应用程序的后端。 我愿意将微服务部署到某些云平台(AWS,Azure等)。
我应该创建1个VM并将所有微服务部署在同一服务器上,但具有不同的端口吗?如果我应该为每个微服务创建1个VM,它们是否应该通过公共IP相互对话?
谢谢!
答案 0 :(得分:0)
创建1台服务器将终止微服务的目的。服务部署在 多个节点(服务器),更具体地说是多个可用区(可用区)
这还取决于您是否使用服务器后面的代码直接部署了独立的服务,还是使用容器?因为两者将具有不同的部署和维护方法。
答案 1 :(得分:0)
为您提供的直接答案是“是”。您可以这样做,直接使用不同端口将所有微服务部署在一个VM上是可行的。您可以在Azure VM的网络NSG设置中为公共IP设置不同的公共端口。
但是,这并没有意义并破坏微服务体系结构。但是根据我的经验,在开发或测试阶段,您可以尝试使用Nginx作为反向代理或使用Docker(甚至使用Kubernetes)在VM上管理您的微服务。
希望有帮助。
答案 2 :(得分:-1)
正如@Imran Arshad所说,在一台服务器上部署一些微服务是一个坏主意。 如果您处于项目的开始阶段,则可以将AWS的ECS服务与1-2个ec2实例一起使用。这样,您可以以低成本获得HA。