码迷,mamicode.com
首页 > 其他好文 > 详细

什么是微服务架构?

时间:2018-08-14 14:59:51      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:比较   需求   性能   box   解决方案   学习   适用于   设计   完成   

本文来自网易云社区

 

微服务架构是解决企业 IT 长期演进的一种方案,适用于迭代很快的系统,10年不变的系统就算了。

  • 什么是微服务

简述 Martin Flower 大神的系统阐述:

  1. 微服务是一种架构风格,也是一种服务;
  2. 微服务的颗粒比较小,一个大型复杂软件应用由多个微服务组成,比如Netflix目前由500多个的微服务组成;
  3. 它采用UNIX设计的哲学,每种服务只做一件事,是一种松耦合的能够被独立开发和部署的无状态化服务(独立扩展、升级和可替换)。

技术分享图片

微服务架构示例

采用微服务架构的主要收益:

  1. 效率高:一个微服务基本是一个能独立发布的应用服务,因此可以作为独立组件升级、灰度或复用等,对整个大应用的影响也较小,每个服务可以由专门的组织来单独完成,依赖方只要定好输入和输出口即可完全开发,甚至整个团队的组织架构也会更精简,因此沟通成本低、效率高。
  2. 灵活性:根据业务的需求,不同的服务可以根据业务特性进行不同的技术选型,是计算密集型还是I/O密集型应用都可以依赖不同的语言编程模型,各团队可以根据本身的特色独自运作。
  3. 高可用:服务在压力较大时,也可以有更多容错或限流服务。

微服务架构确实有很多吸引人的地方,然而它的引入也是有成本的,它并不是银弹,使用它会引入更多技术挑战,比如性能延迟、分布式事务、集成测试、故障诊断等方面,企业需要根据业务的不同的阶段进行合理的引入,不能完全为了微服务而“微服务”

* 以上内容摘自:《云原生应用架构实践》,本书第5章也会对如何解决微服务技术挑战提供不同的方案。

  • 怎么做微服务

微服务,就是系统划分成非常小的模块,而且这些模块都可以通过一种标准的服务接口进行沟通。我们做软件的,要向人类社会学习。为什么我们人类社会有这么发达的文明呢。是因为我们基于人这个最小的单位,设计了标准的语言、文字、货币、法律。微服务技术平台,也需要基于微服务这个基本单元,构建多维度完整的解决方案,让企业的架构就可以像人类社会一样持续发展。

完整的解决方案,网易云认为,应该包括微服务治理、API 网关、容器服务、DevOps、AIOps、和测试服务等 6 个模块,所以,网易云轻舟微服务的功能是这样设计的:

技术分享图片网易云轻舟微服务产品功能

 


网易云新用户大礼包:https://www.163yun.com/gift

 

什么是微服务架构?

标签:比较   需求   性能   box   解决方案   学习   适用于   设计   完成   

原文地址:https://www.cnblogs.com/163yun/p/9473462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!