当前位置: 首页 > news >正文

Spring Cloud Alibaba — 0、服务架构演变

1、单体架构

整个应用的所有代码都在一个工程中

优点:

(1)架构简单,开发成本低

(2)部署简单,维护方便

缺点:

(1)耦合度高,容错率低

(2)不利于后期的水平扩展和维护

                                 ​​​​​​​        

2、垂直架构

将原有的单体的应用拆分为若干个子单体应用。例如:一个阿里巴巴拆分成若干个系统,比如拆分为淘宝系统,天猫系统,菜鸟系统等等。

优点:

(1)一定程度上解决了并发的问题,不同的子应用可以进行水平扩展。

(2)一定程度上完成不同应用的解耦合,提高容错率。

缺点:

(1)子应用之间相互独立,不能互相调用。

(2)子应用之间相互独立,相同业务模块需要重复开发。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

3、分布式架构

将垂直架构的应用拆分为应用层业务层,应用层调用抽取出来的业务层(重复代码拆分出独立的业务层)。

优点:

(1)抽取公告的功能为业务层,提高代码的复用性。

缺点:

(1)耦合度高,调用关系复杂,维护难度高。

        ​​​​​​​        ​​​​​​​        

4、SOA架构

在分布式架构的基础之上加入治理中心来对拆分出的业务层应用的集群进行管理

优点:

(1)解决了服务调用间的关系调节。

缺点:

(1)服务之间依赖比较大,一旦某个服务调用,可能会出现服务雪崩。

(2)服务关系复杂,部署,运维,测试比较复杂 。

                        ​​​​​​​ 

5、微服务架构 

在SOA架构基础上进行更加细致的力度拆分,并且在各个方面引入各个层面组件进行维护服务间的调度,保证服务间稳定的调度

优点:

(1)REST API轻量级通信。

(2)服务间耦合比较低,利用后期维护,水平扩展。

缺点:

(1)开发,维护,硬件成本比较高。

(2)复杂度更高

 

相关文章:

  • 实战 - AES对称加密算法加密和解密设备联动码
  • IDEA统计项目代码量
  • 图像处理:推导五种滤波算法(均值、中值、高斯、双边、引导)
  • 【光学】基于matlab GUI双缝干涉和牛顿环【含Matlab源码 2165期】
  • 合宙AIR32F103CBT6刷回CMSIS-DAP固件以及刷ST-LINK V2-1固件方法
  • 【操作系统】volatile、wait和notify以及“单例模式”基础知识
  • java自定义注解防重提交
  • 4-Arm PEG-Aldehyde,4ARM-PEG-CHO,四臂-聚乙二醇-醛基修饰蛋白质用试剂
  • C语言预处理、宏定义
  • Flink 成长之路专栏 - 导读目录
  • 软考高级系统架构设计师系列论文五十:论SOA在企业集成架构设计中的应用
  • spring boot企业网站设计与实现毕业设计源码211750
  • springboot基于JavaWeb的疫苗接种管理系统-JAVA.JSP【数据库设计、毕业设计、源码、开题报告】
  • vue组件间传值的六种方法
  • 2022牛客杭电多校dp题汇总
  • 【Leetcode】104. 二叉树的最大深度
  • 【面试系列】之二:关于js原型
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • CAP 一致性协议及应用解析
  • CSS实用技巧
  • Less 日常用法
  • quasar-framework cnodejs社区
  • Sublime Text 2/3 绑定Eclipse快捷键
  • tab.js分享及浏览器兼容性问题汇总
  • webpack4 一点通
  • windows下使用nginx调试简介
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 高性能JavaScript阅读简记(三)
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 悄悄地说一个bug
  • 什么是Javascript函数节流?
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 王永庆:技术创新改变教育未来
  • 新手搭建网站的主要流程
  • 学习ES6 变量的解构赋值
  • 在Mac OS X上安装 Ruby运行环境
  • ionic入门之数据绑定显示-1
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​比特币大跌的 2 个原因
  • # 数据结构
  • #pragma预处理命令
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #大学#套接字
  • (3)(3.5) 遥测无线电区域条例
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (WSI分类)WSI分类文献小综述 2024
  • (zhuan) 一些RL的文献(及笔记)
  • (搬运以学习)flask 上下文的实现
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (四)汇编语言——简单程序
  • (一一四)第九章编程练习