SOA架构-微服务架构
SOA全称(Service Oriented Architecture)—— 面向服务的架构。
面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过在这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
跟 SOA 相提并论的还有一个 ESB(企业服务总线),简单来说 ESB 就是一根管道,用来连接各个服务节点。为了集成不同系统,不同协议的服务,ESB 做了消息的转化解释和路由工作,让不同的服务互联互通。
SOA 解决的问题:
- 系统集成
企业系统不断发展过程中,会存在N多系统间相互调用,系统间的关系可能会是一个比较杂乱的网状结构。引入SOA来完成服务之间关系的有序化,这一步需要引入一些产品,比如 ESB、以及技术规范、服务管理规范 - 系统服务化
完成服务的复用。比如之前可能是 各个系统都写了一套登录注册、发邮件、发短信等功能。现在可以将 登录注册、发邮件、发短信等功能逻辑抽象成可复用、可组装的服务,通过合理的服务编排,实现业务功能的快速复用。 - 业务服务化
完成企业系统的对外服务能力。将业务单元(如:OA系统、财务系统等)封装成一项服务。
微服务架构
微服务架构和SOA架构是相似的,微服务架构算是在SOA架构上的一次升级。微服务架构的重点是“业务彻底的组件化和业务化”。原有的单体大而全的应用拆分成多个独立运行的小应用。当然,也不需要为了微服务而微服务,也需要考虑系统的量级。比如公司只有一个财务系统,其中有登录注册、发邮件、发短信、文件上传等功能,没有其他系统需要复用这些功能,使用人数只有几百人。那么一个大而全的单体应用就可以满足了。 企业发展过程中,没有倒闭,而且蓬勃发展了一把。一个简单的财务系统不能满足需求了,CRM、OA等等功能也不适合塞在那个大而全的财务系统里了。这个时候就可以闭着眼睛拆一把服务了。拆分成 财务系统、CRM、OA、登录注册、发邮件、发短信、文件服务等系统。
微服务的特征有几点:
1. 实现服务组件化
不同的组件之间相互独立,服务的发布一般不需要协调各个组件。
2. 按照业务划分服务和开发团队
不同的开发团队可以选择不同的技术、语言等
3. 去中心化
进一步降低了微服务之间的耦合度,在复杂的业务场景下,涉及多个微服务,通常在客户端或者中间层(网关)处理。
每个微服务拥有自己独立的数据库或者其他持久化能力。
4. 基础设施自动化(devops、CICD)
Docker 和 微服务相互成就。Docker 容器技术的普及使得微服务的普及更加方便。
SOA架构-微服务架构相关推荐
- SOA和微服务架构的区别?
知乎用户 289 人赞同了该回答 谢多人邀请,其实前面几位的回答已经差不多了,在这里仅谈下自己的简单总结. 微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多 ...
- 单体架构、SOA、微服务架构
1. 单体架构的问题 在Java Web开发中,web工程一般会被打包为war包部署在Servlet容器中,如Tomcat.比较简单,开发和调试部署都很方便. 但是当用户量大时,并发量高时,一 ...
- SOA和微服务架构的区别
SOA和微服务架构的区别? 1 条评论 分享 默认排序按时间排序 10 个回答 203赞同 反对,不会显示你的姓名 知乎用户 大型电信行业SOA实施经验,SOA规划咨询,- 203 人赞同 谢多人邀请 ...
- 万字长文解析:分布式架构、SOA、微服务架构、API网关、ESB服务总线架构之间的关联及演进
1架构演进 架构十五年:改变的是形态,不变的是目的 业务驱动架构形态变化 过去十几年,随着互联网发展以及业务的多样化,系统的架构也在不断发生变化,总体上来说大体经历了从单体应用架构-垂直应用架构-分布 ...
- 理解 SOA和微服务架构
网上有个小段子,专门比较SOA和微服务架构区别的,相比其他抽象的解释,更让人容易理解.我把其他人的一些解释合并一下罗列如下: A:菜菜哥,我最近需要做一个项目,老大让我用微服务的方式来做 B:那挺好呀 ...
- 【服务化架构】SOA和微服务架构、灵活架构
文章目录 一.SOA ESB 二.微服务 微服务和Docker 三.关于 SOA和微服务关系 的几种观点 四.QA 关于ESB的单点故障 关于微服务的去中心化 和 API网关 五.灵活架构 导读 SO ...
- 为什么选择微服务架构? 微服务架构的10个核心优势 总结
为什么选择微服务架构? 微服务架构的10个核心优势 总结 文章目录 为什么选择微服务架构? 微服务架构的10个核心优势 总结 1. 什么是微服务? 2. 微服务架构有哪些特征? 1)通过服务实现组件化 ...
- 亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构
<缓存架构+高可用服务架构+微服务架构>深入讲解了亿级流量电商详情页系统的完整大型架构.同时最重要的是,在完全真实的大型电商详情页系统架构下,全流程实战了整套微服务架构,包含了基于领域驱动 ...
- 系统架构演变:SOA、微服务架构的区别和联系
1.系统架构演变 随着互联网的发展,网站应用的规模不断扩大.需求的激增,带来的是技术上的压力.系统架构也因此也不断的演进.升级.迭代.从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服 ...
最新文章
- 在不允许新建对象的条件下,将list中指定条件的值去除
- 锤子辩论有感——我该如何定义成功
- Redis入门第二篇【存储数据结构之string类型】
- 浅析C#发送短信的原理
- Linux下,查看USB设备信息
- BZOJ 1193: [HNOI2006]马步距离【贪心+搜索】
- linux数组拼接_Linux中Shell数组的笔记
- 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?
- GLSL学习笔记三(片元处理)
- php 魔方加密还原,PHP魔方解密 - osc_80l29rkk的个人空间 - OSCHINA - 中文开源技术交流社区...
- EverEdit - 值得关注的国产原创开发的免费高效优秀的文本与代码编辑器
- matlab光子晶体求反射率,一维光子晶体禁带结构的MATLAB分析计算讲解.PDF
- nodex 解决跨哉请求的解决方案express
- vim简单用法-配合pycharm
- 嵌入式系统中鲁棒性的理解
- 机器学习极简入门教程(一)
- Python 使用 LibSVM
- html5制作坦克大战
- css简单样式(旋转正方形、纸片旋转、轮播图3D、简单轮播图)
- discuz db_mysql.calss.php_刚发现得好东西!discuz 7.0 db_mysql.php 详解