什么是微服务?

  1. 云栖社区>
  2. 博客>
  3. 正文

什么是微服务?

水灵儿 2018-01-16 17:48:10 浏览1955
展开阅读全文

b8fb0989fa7459fe2c1138c7c14658e6154ce32a


8dc0a3dfc16b7023947e595c5865fba526c9ce3e

a53d4f00f9e81347527f46e3466496f45bec1259

97ef115d29323498b242d55f4fb152bbfedc2a70


8d47a767d5383302b65c2aaeff391e44d5cb7a07

1e456604a02ef93ab489d8ff74d021003a1dc9ae


缺点一:项目过于臃肿


当大大小小的功能模块都集中在同一项目的时候,整个项目必然会变得臃肿,让开发者难以维护。


缺点二:资源无法隔离


就像刚刚小灰的经历一样,整个单体系统的各个功能模块都依赖于同样的数据库、内存等资源,一旦某个功能模块对资源使用不当,整个系统都会被拖垮。


缺点三:无法灵活扩展


当系统的访问量越来越大的时候,单体系统固然可以进行水平扩展,部署在多台机器上组成集群:

04a30bc45fbd2ee2eb0e36066e021c7e936be313

但是这种扩展并非灵活的扩展。比如我们现在的性能瓶颈是支付模块,希望只针对支付模块做水平扩展,这一点在单体系统是做不到的。


d4207f0dce9479eefd1eaac93e50a83a6871f5ea



什么是微服务?


微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。


究竟什么是微服务呢?我们在此引用 ThoughtWorks 公司的首席科学家 Martin Fowler 的一段话:

c705ce4f897d94777f95bd210a0c0f4ce405db06


In





















网友评论

登录后评论
0/500
评论
水灵儿
+ 关注