简话微服务?

最近几年微服务的概念很火,仿佛不懂点微服务相关技术,就显得有些过时了。

什么是微服务?

微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP API)进行通信。

这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。

微服务架构强调的是系统按业务边界做细粒度的拆分和部署,而SOA架构强调的是异构系统之间的通信和解耦合。

微服务特点

1)独立部署,灵活扩展。

传统的单体架构是以整个系统为单位进行部署,而微服务则是以每一个独立组件(例如用户服务,商品服务)为单位进行部署。

2)资源隔离

每一个微服务拥有独立的数据源,有效避免了服务之间争用数据库和缓存资源所带来的问题。

3)针对特定组建发布,且可以弹性伸缩

单个组件更新发布影响小,而且可以动态扩容,风险小,成本低。

微服务引入的问题

1)分布式系统的复杂性,

2)提升了部署、测试和监控的成本

3)分布式事务、数据一致性问题

最后

微服务其实是很早就有的设计思想,随着虚拟化技术的崛起,微服务的成本极大的降低,因此微服务才逐渐开始兴起。

不要盲目的使用微服务,在做技术方案的时候,并不是一定要选用微服务的设计。最好还是尽可能多去分析原本业务的特点,在做选择。

简话微服务?_第1张图片

 

你可能感兴趣的:(简话微服务?)