网站首页 > 博客文章 正文
1、网址的演变过程
从传统架构(单点应用)-> 分布式架构(以项目进行拆分)->SOA架构(面向服务架构)-> 微服务架构
1>传统服务架构
其实就是SSH 或者SSM,属于单点应用,把整个业务模板都在一个项目开发,分为MVC架构,会拆分为控制层,业务逻辑层和数据库访问层。
com.controller
com.service
com.dao
一般只适合个人或者小团队开发。
缺点:耦合度太高,一旦某个模板导致服务不可用,可能影响整个项目。
2、分布式架构是基于传统架构演变而来的,将传统项目以项目模板进行拆分成n个子项目,比如拆分:会员项目,订单项目,支付项目,优惠券等,每个项目都有自己独立的数据库,rdeis.
会员项目:登录,注册等
订单项目:下单,查询订单
分布式架构和传统架构的区别:
项目粒度分更加细,慢慢适合互联网公司开发,耦合度降低。
项目表达意思:包含业务层和视图层
服务表达意思:只包含业务层
3、SOA架构:基于分布式架构演变而来,面向服务的架构,俗称服务化,可以理解为面向与业务逻辑层。将共同的代码进行抽取出来,提供给其他接口调用。服务与服务之间的调用通过rpc远程调用技术。
服务的概念:将共同的业务逻辑进行拆分,拆分成独立的一个项目进行部署,没有视图层。
服务的概念可以理解为接口。
rpc远程调用的技术框架:
httpclient,springcloud,dubbo,核心底层scoket技术或者netty实现。
4、微服务产生的原因:
SOA 架构的缺点:
1、依赖中心化服务发现机制。
2、因为SOA架构采用SOAP协议(http+xml),xml传输比较占用宽带,整个xml报文有很多冗余数据,所以微服务以轻量级json代替xml方式。
3、服务管理比较混乱,缺少服务管理和治理设施不完善。
微服务架构模式
微服务架构基于SOA架构演变而来,比SOA架构上的粒度更加精细。让专业的人做专业的事(更加专注),目的是提高效率。每个服务之间互不影响,每个服务必须独立部署(独立的数据库等),微服务架构更加轻量级,采用resttful风格提供API,也就是http协议+json格式进行传输。更加的轻巧,更加适合互联网公司敏捷开发,快速迭代产品。
微服务和SOA 架构什么区别:
1.微服务架构基于 SOA架构 演变过来,继承 SOA架构的优点,在微服务架构中去除 SOA 架构中的 ESB 消息总线,采用 http+json(restful)进行传输。
2.微服务架构比 SOA 架构粒度会更加精细,让专业的人去做专业的事情(专注),目的提高效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独立部署,微服务架构更加轻巧,轻量级。
3.SOA 架构中可能数据库存储会发生共享,微服务强调独每个服务都是单独数据库,保证每个服务于服务之间互不影响。
4.项目体现特征微服务架构比 SOA 架构更加适合与互联网公司敏捷开发、快速迭代版本,因为粒度非常精细。
SpringCloud是基于SpringBoot基础之上开发的微服务框架,SpringCloud是一套目前非常完整的微服务解决方案框架,其内容包含服务治理、注册中心、配置管理、断路器、智能路由、微代理、控制总线、全局锁、分布式会话等。
SpringCloud包含众多的子项目
SpringCloud config 分布式配置中心
SpringCloud netflix 核心组件
Eureka:服务治理 注册中心
Hystrix:服务保护框架
Ribbon:客户端负载均衡器
Feign:基于ribbon和hystrix的声明式服务调用组件
Zuul: 网关组件,提供智能路由、访问过滤等功能。
猜你喜欢
- 2024-10-10 挤爆服务器,北大法律大模型ChatLaw火了:直接告诉你张三怎么判
- 2024-10-10 在PS Cloud中生产订单的查询(ps订单从哪接)
- 2024-10-10 Google Cloud宣布在AWS首尔区域支持“BigQuery Omni”解决方案
- 2024-10-10 流程引擎activiti5、activiti6、activiti7对比分析
- 2024-10-10 MySQL单表数据量过千万,采坑优化记录,完美解决方案
- 2024-10-10 金蝶K3_Cloud财务操作流程明细-应收款管理操作规程(一)
- 2024-10-10 SpringCloud微服务架构进阶篇:服务注册中心之Eureka使用
- 2024-10-10 距 CloudQuery v1.5.0 发版仅剩2天
- 2024-10-10 Spring Boot跟踪微服务日志(springboot 微服务架构)
- 2024-10-10 influxdb内存消耗分析及性能优化「追踪篇」
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)