什么是微服务

举报
yd_221104950 发表于 2020/12/03 01:17:44 2020/12/03
【摘要】 微服务架构风格提倡以一组小型服务的方式来开发应用。每个小型服务都运行在自己的进程里,通过轻量级的机制,通常是HTTP的方式来互通互调。这些小型服务围绕业务开发,独立部署。它们可以使用不同的编程语言和不同的数据存储技术。 单体应用,则是all in one的应用,它将所有的功能都写在同一个应用中,传统web就是典型的单体应用。单体应用测试、部署、水平扩展都比较简单,它的...

微服务架构风格提倡以一组小型服务的方式来开发应用。每个小型服务都运行在自己的进程里,通过轻量级的机制,通常是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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。