【软件架构篇】实践微服务

1、序言

微服务算是互联网行业的热词了,甚至被用在了不合理的场景中(比如一些业务并不复杂的系统,被拆分成了好几十个微服务)。一般也只有大公司才能彻底实践微服务,因为搭建微服务需要的基础设施比较多,小公司耗不起。

2、什么是微服务?

微服务是按服务划分系统得出的一种可扩展架构。一个大系统被拆分成了不同的微服务,从而可以有效减小服务之间的影响,也可独立开发、测试、部署。

3、微服务有什么优缺点?

优点:服务之间相互影响小,可以独立开发、测试和部署上线;服务之间直接调用,相当于访问压力被分散了(比如SOA中的ESB,如果用在互联网行业中,很可能就存在性能瓶颈)。

缺点:微服务需要的基础设施比较多,实践起来复杂;微服务之间的组件难以共享,为了保证可扩展性,牺牲了共享。

4、如何实践微服务?

实践微服务需要一套经过实践的方法论,比如拆分方法和需要搭建的基础设施。

4.1、拆分方法

可以根据团队规模来拆分,比如3个人维护一个微服务。一个人维护微服务就好比如服务的单点故障;两个人维护一个微服务将会存在争执的可能,对一个问题谁也说服不了谁。3个人维护一个微服务刚好,一般情况下也不会存在单点的情况;讨论一个问题时可以得出一个比较好的结论;若某人请假,两个人也能同时应对信需求。

4.2、基础设施

微服务基础设施如下图所示:


image.png

你可能感兴趣的:(【软件架构篇】实践微服务)