我正在尝试使用弹簧和弹簧靴创建弹簧云微服务。我开发了一个Spring云Eureka服务器作为一个独立的弹簧启动项目。并为Zuul服务器创建了用于网关代理和路由的弹簧启动项目。
有谁能帮助我澄清我对容器化和云部署我的Spring云微服务的困惑?
答案 0 :(得分:6)
因此,当我部署我的微服务时,需要部署所有项目 集装箱?所以云平台也是如此 微服务进入单独的容器?
您不会被迫将所有微服务停靠。您可以自己对每个微服务进行dockerize并保持一些非dockerized。但是,这样做没有明显的好处。如果您正在使用Docker,最好是Dockerize all 你的微服务。
Docker maven插件配置最好分别在每个项目中完成。我建议仅使用maven插件来构建映像,并可选择将它们推送到注册表。然后,您可以单独部署每个图像。我会推荐 您使用Docker compose或Docker swarm进行生产,以部署不同的微服务容器。
通过在单独的容器中部署我的所有微服务,云中是否存在任何问题,因为它们可以相互通信/呼叫?
不,不应该有任何问题。但是在容器通信时需要注意的主机名应该小心。如果您正在使用docker compose,则容器可以通过将服务名称作为主机名直接相互通信。例如,其他微服务可以使用http://eureka:8761
向Eureka注册。因此,请确保设置正确的application.properties以访问其他服务。