什么是微服务框架
在互联网行业,微服务框架是目前最热门的框架之一。这个概念最早是由弗雷德·乔治(Fred George
)提出的,然后经过马丁·福勒(Martin Fowler
)的推广,微服务才渐渐广为人知。其实,微服务没有多么神秘。本小节会从微服务的定义、特点、优点与挑战方面介绍,带领大家走进微服务的世界。
定义
微服务框架是将某个应用程序开发划分为对许多小型服务进行独立开发,这些服务一般围绕业务规则进行构建,可用不同的语言开发,使用不同的数据存储,最终使得每个服务运行在自己的进程中,并且,它们之间采用轻量级通信机制进行通信。
特点
-
所有的微服务都能运行在自己的进程中。
-
独立运行的微服务共同构建整个应用系统。
-
独立运行的微服务具备独立进行业务开发的功能。
-
微服务之间通过轻量级通信机制完成通信。
-
可以使用不同的语言编程、多样化数据存储及全自动部署机制。
优点与挑战
上面对微服务框架做了一个定义,我们大致可以看出微服务的优点,这里进行明确、系统的说明,优点如下。
-
易于开发和维护:一个微服务只关注一个特定的业务功能,所以它业务清晰,代码量较少,开发和维护单个微服务相对简单。
-
单个微服务启动较快:单个微服务代码量少,所以启动较快。
-
修改程序容易部署:只需要部署对应的微服务模块。
-
技术栈不受限:微服务框架中,结合业务及团队成员的特点选择合理的技术栈进行开发。
-
按需伸缩:可根据需求实现细粒度的扩展。
面临的挑战如下。
-
对多个微服务模块进行运维,复杂度高。
-
服务间的通信,网络成本高。
-
系统的集成测试不方便,没有引用依赖,不能断点调试。
-
数据一致性难保证。
-
性能监控复杂。