微服务若干关键问题研究
2016-10-21邓杰文曹彩凤
五邑大学学报(自然科学版) 2016年2期
邓杰文,曹彩凤
微服务若干关键问题研究
邓杰文,曹彩凤
(五邑大学 计算机学院,广东 江门 529020)
微服务软件架构正处于探索和兴起阶段,亚马逊、Netflix等互联网巨头的成功案例表明微服务在大规模的企业应用中有较明显优势. 本文介绍了微服务架构的原理,分析其优势和不足;对微服务实践过程中遇到的若干关键问题及解决方案进行探讨;为满足一般教务系统弹性可伸缩的需求,设计了基于微服务的架构方案,在架构设计层面解决了系统应用过程中出现的性能瓶颈问题.
微服务;软件架构;单体式应用
微服务(Microservices)[1]一词最早在2011年由威尼斯的一个软件架构小组提出,用以表示当时出现的一种流行的软件架构风格,2012年,该小组将其命名为微服务. 同年,James[2]在波兰展示了微服务的案例. Netflix公司的Adrian称“微服务是细化的SOA,是Web领域一种先进的架构风格”[3]. 此后,陆续有互联网公司尝试使用类似架构并取得了成功,尽管它们不一定都称其为微服务,典型的有Amazon[4],Netflix[5],Uber[6],Groupon[7]等. 本文拟对微服务实践中的关键问题进行探讨,提出解决方案,为以后微服务系统的设计与实现提供更多理论指引.
1 微服务的定义
微服务还没有一个统一的定义,Martin[8]认为“微服务是一种软件架构风格,它把复杂的应用分解为多个微小的服务,这些服务运行在各自的进程中,使用与语言无关的轻量级通信机制(通常是基于HTTP的REST API)相互协调,每个服务围绕各自的业务进行构建,可使用不同的编程语言……
登录APP查看全文