微服务的部署与发布:部署微服务将面临的挑战
当单块架构被划分成微服务之后,随着微服务数量的增多,毫无疑问,将会面临比单块架构更复杂的问题。
部署微服务将面临的问题
部署微服务将会面临以下问题。
1.运维负担
对传统的单块架构系统来说,产品通常只有一个发布包,升级、部署系统往往只需要部署这个发布包即可。现在,面临着这么多的微服务,显然运维的负担要比之前更重了。对于运维工程师来说,部署的服务呈指数上升,传统的手工部署方式往往已经不能适应日益增长的服务运维需求。
⒉服务间的依赖
在一个微服务结构中,你更容易遇到的错误是来自依赖的问题。在微服务架构系统中,某些业务功能需要几个微服务协同才能完成,这些服务之间难免存在一定的依赖关系。特别是以某种方式更新某个服务的API时,同时也会影响其他服务,造成某些服务的不可用。例如,在天气预报系统中,天气预报微服务是依赖于天气数据API微服务及城市数据API微服务的,只要这两个数据API微服务其中一个不可用,则会导致整个天气预报微服务不可用。所以在更新服务时,需要先确定哪些服务需要更新,而后评估更新对其他服务的影响是什么。
3.更多的监控
每个微服务往往需要设置单独的监控,这意味着更多的监控。而且每个微服务可能使用不同的技术或语言,依靠不同的机器或容器,使