什么是微服务

大师的定义

Martin Flower

《Microservices》作者,敏捷开发创始人之一。

微服务不是一个框架,也不是一个系统,微服务是一种架构风格。
微服务致力于松耦合和高内聚,采用独立的业务逻辑封装,接受请求、处理业务逻辑、返回响应,而且采用简单的REST风格,避免复杂的协议,最终实现敏捷开发。

Chris Richardson

《POJOs in Action》作者,CloudFoundry.com的创建者之一。

微服务,也被称为微服务体系结构,是一种架构风格。
通过将应用程序分解为一系列松散耦合的服务,来实现业务功能。微服务支持大型复杂应用的持续交付/部署。微服务让公司/组织能够自由发展自己的技术堆栈,不会被当前技术堆栈绑定。

如何选择架构风格

两位大师都提到了架构风格,除了微服务架构,我们知道另一个架构风格是单体架构,这是传统的架构风格,对许多应用程序来说仍然是一个不错的选择,但是,它确实存在许多限制和问题,因此对于大型/复杂应用程序,更好的选择是微服务架构。

微服务架构的模式集合

微服务架构是一组架构模式和特性的集合,这个集合很大程度上定义了什么是微服务,也说明了如何应用微服务架构来构建大型/复杂应用程序。

  • 分解模式

  • 部署模式

  • 切面特性

  • 通信模式

  • 外部访问模式

  • 服务发现模式

  • 可靠特性

  • 数据管理模式

  • 安全特性

  • 测试特性

  • 可监控特性

  • UI模式

(0)

相关推荐

  • 系统软件架构中,现在很流行微服务,那么使用微服务就一定好么?微服务有哪些缺点呢?

    系统软件架构中,现在很流行微服务,那么使用微服务就一定好么?微服务有哪些缺点呢?

  • 微服务设计模式

    https://www.shengchulai.com/blog-QEFWfPcRJ6.htm 微服务架构已经成为现代应用程序开发的主流.虽然说它能够解决某些问题,但却也不是万金油.而我们在使用这个体 ...

  • 到底什么是微服务?

    微服务到底意味着什么?它与以往的开发架构有何不同? 背景 最近几年,越来越多的开发人员使用"微服务"一词来阐述他们的系统或应用架构,当然或许这只是他们在吹嘘自己在技术潮流中并未落伍 ...

  • 微服务实践之分布式定时任务

    承接上篇:上篇文章讲到改造 go-zero 生成的 app module 中的 gateway & RPC .本篇讲讲如何接入 异步任务 以及 log的使用. Delay Job 日常任务开放 ...

  • 一文了解四种软件架构:Serverless架构、微服务架构、分布式架构、单体架构

    如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存.晋升空间.这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面. 一.单体架构 单体架构 ...

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版

    曾宇平 dotNET跨平台 今天 目录: 一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr ...

  • 去中心化计算的未来:通过 RPC 从微服务过渡到 WASM

    在另外一篇文章<区块链.硬件与面向服务的架构,WASM 即将迎来大爆发?>,里面有绝佳的浏览器内的 WASM 应用程序示例,并辅以了对WebAssembly(Wasm)的详细解释. 但正如 ...

  • 微服务调用链日志追踪分析

    一.技术原理 1.1 背景 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位.主要体现在,一个 ...

  • .NET Core with 微服务 - 什么是微服务

    今天 以下文章来源于馒哥不光会玩当耐特 ,作者MJZHOU 馒哥不光会玩当耐特这个号主要分享.NET相关知识,但也不光是.NET,也会涉及其他任何技术. 微服务是这几年最流行的架构,说起架构不提微服务 ...

  • 微服务架构的前世今生

    传统行业向互联网行业的转型 背景 2012年以后,因为移动互联网的兴起,随着网名数量的增多,需求变化大,用户群体大.导致已有的应用程序无法抗住大规模的并发,且版本迭代麻烦,扩展不够灵活,应对外界环境能 ...

  • 微服务初级

    什么是服务治理: Spring Cloud封装了Netflix公司开发的Eureka模块来实现服务治理 在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用 ...

  • 分布式事务+DDD+负载均衡+服务治理已撸!微服务不就这点事?

    Go语言中文网 今天 最近有看到"微服务,分久必合.合久必分"的言论,我同意,微服务不是架构演变的终点,细说还有Serverless.FaaS等方向.但纠结要不要拆分是没有必要的, ...

  • 微服务的隐性收益

    引言:微服务并不适用于每个公司,而且实现微服务化的过程也并不容易.但是,实现微服务除了明显优势之外,还有一些隐性的收益值得关注.本文编译自 Tom Killalea的一篇旧文 https://queu ...