首页 理论教育 微服务架构在软件制造工程中的应用

微服务架构在软件制造工程中的应用

时间:2023-11-23 理论教育 版权反馈
【摘要】:微服务架构如图2-5所示。图2-5微服务架构1.微服务架构的优点易于开发和维护:一个微服务只会关注一个特定的业务功能,所以它的业务清晰、代码量较少。

微服务架构在软件制造工程中的应用

微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当单个小应用的故障不会影响到其他应用,单应用的负载也不会影响到其他应用,其代表框架有Spring Cloud、Dubbo等。微服务架构如图2-5所示。

图2-5 微服务架构

1.微服务架构的优点

易于开发和维护:一个微服务只会关注一个特定的业务功能,所以它的业务清晰、代码量较少。开发和维护单个微服务相对简单。整个应用则是由若干个微服务构建而成的,可以很容易从业务角度进行对应用的控制。

单个微服务启动较快:单个微服务代码量较少,所以启动会比较快。

局部修改容易部署:单体应用只要有修改,就得重新部署整个应用,微服务解决了这样的问题。一般来说,对某个微服务进行修改,只需要重新部署这个服务即可。

技术栈不受限:在微服务架构中,可以结合项目业务及团队的特点,合理地选择技术栈。例如,某些服务可使用关系型数据库MySQL;某些微服务有图形计算的需求,可以使用Neo4j;甚至可以根据需要来选择开发语言,部分微服务使用Java开发,部分微服务使用Node.js开发。(www.xing528.com)

2.微服务架构的缺点

微服务虽然有很多吸引人的地方,但是使用微服务架构也会面临一些挑战,主要体现在以下4点:

运维要求较高:更多的服务意味着更多的运维投入。在单体架构中,只需要保证一个应用的正常运行。而在微服务中,需要保证几十甚至几百个服务的正常运行与协作,这给运维带来了很大的挑战。

分布式固有的复杂性:使用微服务构建的是分布式系统,对于一个分布式系统,系统容错、网络延迟、分布式事务等都会带来巨大的挑战。

接口调整成本高:微服务之间通过接口进行通信,如果修改某一个微服务的API,可能所有使用了该接口的微服务都需要做调整。

重复劳动:很多服务可能都会使用到相同的功能,而这个功能并没有达到分解为一个微服务的程度,这个时候,可能各个服务都会开发这一功能,从而导致代码重复。尽管可以使用共享库来解决这个问题(例如可以将这个功能封装成公共组件,需要该功能的微服务引用该组件),但共享库在多语言环境下就不一定行得通了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈