很多时候会听到微服务、SOA、ESB之间有着联系也有着区别,有时候了解了一下,过段时间有混肴模糊了今天看了一篇文章写的很好,特地记录一下。

原文地址:https://mp.weixin.qq.com/s/fCsVP5pO2vJX3DlMb-RdrA

一、SOA架构解析

SOA 全称是: Service Oriented Architecture,中文释义为 “面向服务的架构”它是一种设计理念,其中包含多个服务, 服务之间通过相互依赖最终提供一系列完整的功能。各个服务通常以独立的形式部署运行,服务之间 通过网络进行调用。架构图如下:

二、 ESB(企业服务总线)

简单来说 ESB 就是一根管道,用来连接各个服务节点。ESB的存在是为了集成基于不同协议的不同服务,ESB 做了消息的转化、解释以及路由的工作,以此来让不同的服务互联互通;

三、微服务

微服务架构和 SOA 架构非常类似,微服务只是的 SOA 升华,只不过微服务架构强调的是“业务需要彻底的组件化及服务化”,原单个业务系统会被拆分为多个可以独立开发、设计、部署运行的小应用。这些小应用间通过服务化完成交互和集成。 组件表示的就是一个可以独立更换和升级的单元,就像 PC 中的 CPU、内存、显卡、硬盘一样,独立且可以更换升级而不影响其他单元。若我们把 PC 中的各个组件以服务的方式构 建,那么这台 PC 只需要维护主板(可以理解为ESB)和一些必要的外部设备就可以。CPU、内存、硬盘等都是以组件方式提供服务,例如PC 需要调用 CPU 做计算处理,只需知道 CPU 这个组件的地址就可以了。

微服务的特征

1. 通过服务实现组件化

2. 按业务能力来划分服务和开发团队

3. 去中心化

4. 基础设施自动化(devops、自动化部署)

微服务不再强调传统SOA架构里面比较重的ESB企业服务总线,同时以 SOA 的思想进入到单个业务系统内部实 现真正的组件化。

微服务、SOA、ESB比较相关推荐

  1. 微服务构架 esb总线_好的微服务架构=企业服务总线(ESB)的灭亡?

    微服务构架 esb总线 如今,似乎每个人都在谈论微服务. 您可以在数百篇文章和博客文章中读到很多有关该主题的文章,但是我建议的出发点是Martin Fowler的这篇文章 , 该文章引发了有关这种新建 ...

  2. 阿里P8架构师谈:从单体架构、到SOA、再到微服务的架构设计详解

    本文涉及的内容以及知识点如下: 1.单体架构 2.单体架构的拆分 3.SOA与微服务的区别 4.微服务的优缺点 5.微服务的消息 6.服务集成 7.数据的去中心化 单体架构 Web应用程序发展的早期, ...

  3. 常见的服务器架构入门:从单体架构、EAI 到 SOA 再到微服务和 ServiceMesh

    前言:架构的演变流程 单体架构 ==> 垂直架构 ==> 前后端分离 ==> EAI架构  ==> SOA架构 ==> 微服务 ==> 微服务2.0 1.单体架构: ...

  4. 软考必过 - 系统架构师 - 软件架构设计 - SOA与微服务

    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 文章目录 软件架构设计 面向服务的架构(SOA) 软件架构设计 面向服务的架构(SOA) SOA特点 粗粒度 低 ...

  5. 单体、SOA、微服务的介绍

    本文涉及的内容以及知识点如下: 1.单体架构 2.单体架构的拆分 3.SOA与微服务的区别 4.微服务的优缺点 5.微服务的消息 6.服务集成 7.数据的去中心化 目录 单体架构 单体架构的拆分 SO ...

  6. 从单体架构、到SOA、再到微服务的架构设计详解

    本文涉及的内容以及知识点如下: 单体架构 单体架构的拆分 SOA与微服务的区别 微服务的优缺点 微服务的消息 服务集成 数据的去中心化 单体架构 Web应用程序发展的早期,大部分web工程是将所有的功 ...

  7. 【服务化架构】SOA和微服务架构、灵活架构

    文章目录 一.SOA ESB 二.微服务 微服务和Docker 三.关于 SOA和微服务关系 的几种观点 四.QA 关于ESB的单点故障 关于微服务的去中心化 和 API网关 五.灵活架构 导读 SO ...

  8. springcloud 微服务鉴权_我对微服务、SpringCloud、k8s、Istio的一些杂想

    一.微服务与SOA "微服务"是一个名词,没有这个名词之前也有"微服务",一个朗朗上口的名词能让大家产生一个认知共识,这对推动一个事务的发展挺重要的,不然你叫微 ...

  9. 《微服务设计原理与架构》书籍知识点总结

    本书是一本微服务书籍的详细的介绍书籍. 主要从直面微服务架构.服务建模方法.服务的拆分与集成.微服务架构的基本组件.微服务架构的关键要素.微服务架构的实现技术.微服务架构的管理体系.面向微服务架构的转 ...

  10. 决战云时代--“微服务”连接企业级应用(SaaS)与云计算平台之间最后一公里

    一.背景 Martin Fowler 在 2014 给出了"微服务"架构(microservice)定义,现以是国内软件产业界最火热的名词之一.无论是刚毕业的学生,还是做应用开发的 ...

最新文章

  1. 专访香港大学罗平:师从汤晓鸥、王晓刚,最早将深度学习应用于计算机视觉的「先行者」
  2. 重新想象 Windows 8 Store Apps (10) - 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom...
  3. Jquery 获取select选中的value、text
  4. ASP.NET页面传值的各种方法和分析
  5. java键盘输入到文件中_在Linux中使用java和javac命令编译运行java文件
  6. 中兴3G模块 MU301
  7. 第十二次课:Servlet实现用户管理
  8. window自动生成数据库连接字符串
  9. 怎么查看计算机办公软件版本的,怎样查看电脑用的什么办公软件
  10. 虚拟机怎么制作镜像文件
  11. Tree Walk(二叉树的遍历)
  12. picgo、gitee、typora打造最好的markdown书写工具
  13. 《神经网络与深度学习》编程笔记
  14. git pull 详解
  15. sip 时序图_教你如何看懂时序图(小白如何快速轻松的看懂时序图)
  16. Linux环境中第一行dpa,nvdimm
  17. 量子计算机算爱情,量子纠缠或许才是世间最伟大的爱情
  18. PHP:ThinkPHP
  19. EMC硬件设计规范与滤波器使用注意事项
  20. 微信小程序学习总结1

热门文章

  1. 唐诗宋词元曲等成语大全类APP开发,数据有了
  2. mysql删除用户对表空间的权限_Oracle对表空间、用户、用户权限的操作
  3. fl studio怎么设置中文,fl studio21下载后如何语言设置/切换中文版
  4. TS-CAM: Token Semantic Coupled Attention Map for Weakly Supervised Object Localization
  5. Java字符串处理之连接字符串
  6. python生成手写文字图片_使用生成对抗网络(GAN)生成手写字
  7. Latex排版:字母上方加上角标 加横线 加波浪线等
  8. MICROSOFT SQL 2000 数据库报7994错误,不能存储数据
  9. 组建虚拟局域网的软件--hamachi
  10. 国际象棋的规则(转)