什么是微服务
微服务架构风格提倡以一组小型服务的方式来开发应用。每个小型服务都运行在自己的进程里,通过轻量级的机制,通常是HTTP的方式来互通互调。这些小型服务围绕业务开发,独立部署。它们可以使用不同的编程语言和不同的数据存储技术。
单体应用,则是all in one的应用,它将所有的功能都写在同一个应用中,传统web就是典型的单体应用。单体应用测试、部署、水平扩展都比较简单,它的并发能力是可以通过多部署几个单体应用,然后通过负载均衡来分流来实现并发的。单体应用的缺点就是牵一发动全身,随着需求增加,应用将日益复杂,开发、维护都会越来越吃力。而微服务风格的应用架构,则不会有这种问题,因为应用的各个功能元素都是独立出来,独立开发,独立部署,独立升级,随时可以替换软件单元,可以通过功能元素的动态组合来支撑我们的应用,如某个功能元素访问较多,那么就可以部署多一点,某个元素用得少则部署少一点。
微服务的特点
1、通过服务实现组件化
2、围绕业务能力来进行组织
3、每个功能元素都是产品,而非项目
4、智能端点和哑管道
5、分权治理
6、分散式数据管理
7、基础设施自动化
8、为失效而设计
9、进化式设计
微服务带来的好处
1、强模块边界:微服务加强了模块结构,这对大型团队来是尤其重要。
2、独立部署:简单的服务很容易部署,当它们运行出错时,也不会引起整个系统的失败。
3、技术多样性:使用微服务,你可以混合多种编程语言、开发框架、数据存储技术。
微服务附带成本
1、分布式:由于远程调用慢,还经常会有失败的风险,所以分布式系统编程比较困难。
2、最终一致性:保持稳固的一致性是极度困难的对一个分布式系统而言,这就意味着每个人都必须管理最终一致性
3、运营复杂性:你要有一个成熟的运营团来管理众多的服务,在常规性部署服务时。
更多微服务内容,请参考[https://martinfowler.com/microservices/](https://martinfowler.com/microservices/)
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/105076290
- 点赞
- 收藏
- 关注作者
评论(0)