应用架构的演进--MVC,RPC,SOA,微服务架构

MVC架构:垂直应用架构

  • 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。
  • 当业务规模很小时,将所有功能都部署在同一个进程中,通过双机或者前置负载均衡器实现负载分流

此时,加速前端页面开发,分离前后台逻辑的mvc框架是关键。

代表技术:Struts2、SpringMVC、Spring、Mybatis 等等。

RPC架构:分布式服务架构

  • 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。

此时,用于提高业务复用及拆分的 RPC 框架是关键。

代表技术:Thrift、Hessian 等等

SOA架构:流动计算架构

  • 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。
  • 服务生命周期管控和运行态的治理成为瓶颈

此时,用于提高机器利用率的,提升服务质量的 (资源调度和治理中心)SOA 服务治理是关键。

代表技术:Mule、WSO2

微服务架构:

定义:

优点:

缺点:

微服务就是一个轻量级的服务治理方案。
代表技术:SpringCloud、dubbo 等等。

原文地址:https://www.cnblogs.com/xzmiyx/p/9956875.html

时间: 2024-09-30 07:56:58

应用架构的演进--MVC,RPC,SOA,微服务架构的相关文章

阿里P8高级架构师带你领略阿里巴巴微服务架构——最后有惊喜哦

Dubbo微服务框架的核心功能 启动时检查 ?Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true" 集群容错 failover 失败自动切换,当出现失败重试其它服务器.通常用于读操作,重试带来更长延迟. failfast快速失败,只发起一次调用,失败立即报错.通常用于非幂等性写操作,如新增记录. failsafe失败安全,出现异常时,直接忽略.通常用于写入审计日志等操作. fai

Java架构:一文读懂微服务架构的重构策略

你很有可能正在处理大型复杂的单体应用程序,每天开发和部署应用程序的经历都很缓慢而且很痛苦.微服务看起来非常适合你的应用程序,但它也更像是一项遥不可及的必杀技.如何才能走上微服务架构的道路?下面将介绍一些策略,帮你摆脱单体地狱,而无须从头开始重写你的应用程序. 通过开发所谓的绞杀者应用程序(strangler application),可以逐步将单体架构转换为微服务架构.绞杀者应用程序的想法来自绞杀式藤蔓,这些藤蔓在雨林中生长,它们包围绕树木生成,甚至有时会杀死树木.绞杀者应用程序是一个由微服务组

微服务架构幸运28出售理解及微服务架构局限性

虽然微服务幸运28出售 <Q> 2952777280[源码链接] hxforum.com 是降低整体结构的最佳方式.然而,它有其自身的一些缺点.但在得出任何结论之前,让我们来看看其中的一些. 1.开发环境超载 随着应用程序及其数据库的增长,代码库也在不断扩展.随着针对每个微服务的代码扩展,它会使每个加载的应用程序的开发环境过载.这可能导致生产力的重大延迟. DevOps复杂性 单功能微服务的开发和部署并非易事.使用多种技术并创建API来集中系统是一项挑战.这需要一个经验丰富的DevOps团队.

Atitit.架构设计趋势 设计模式 ---微服务架构&#160;&#160;soa

Atitit.架构设计趋势 设计模式 ---微服务架构  soa 什么是微服务架构?1 .微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1 微服务与康威定律2 微服务的一些设计 断路器 幂等2 <微服务设计>([英] 纽曼(Sam Newman))3 微服务架构与实践4 什么是微服务架构? Martin Fowler认为,微服务架构是一种独立部署的软件应用设计方式.这种架构方式没有准确的定义,但是在业务能力.自动部署.端对端的整合.对语言及数据的分散控制上有着共性.

SOA和微服务架构的区别?

知乎用户 289 人赞同了该回答 谢多人邀请,其实前面几位的回答已经差不多了,在这里仅谈下自己的简单总结. 微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用.这些小应用之间通过服务完成交互和集成.每个小应用从前端web ui,到控制层,逻辑层,数据库访问,数据库都完全是独立的一套.在这里我们不用组件而用小应用这个词更加合适,每个小应用除了完成自身本身的业务功能外,重点就是还需要消费外部其它应用暴露的服务,同时自身

SOA和微服务架构的区别

微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用.这些小应用之间通过服务完成交互和集成.每个小应用从前端web ui,到控制层,逻辑层,数据库访问,数据库都完全是独立的一套.在这里我们不用组件而用小应用这个词更加合适,每个小应用除了完成自身本身的业务功能外,重点就是还需要消费外部其它应用暴露的服务,同时自身也将自身的能力朝外部发布为服务. 如果一句话来谈SOA和微服务的区别,即微服务不再强调传统SOA架构里面比较

【 ECUG 演讲分享】吴海黎:CODING 微服务架构演进之路

近日,CODING 平台技术总监吴海黎参加了由 ECUG 社区举办的技术大会,与听众一同分享了 CODING 微服务架构的演进历程.让我们一起来欣赏精彩的演讲内容吧. 大家好!我是来自 CODING 的吴海黎,今天我给大家分享的内容是微服务拆分的实践,微服务几乎可以说是当下的一个主流架构,希望今天的分享能给大家落地微服务带来帮助.整个分享分为三个部分: 第一是单体架构的简介,第二是微服务架构落地方案,第三是 DevOps 之于微服务的重要性. 一.单体架构简介 虽然第一部分是介绍单体架构的主要痛

atititi.soa&#160;&#160;微服务&#160;区别&#160;联系&#160;优缺点.doc

atititi.soa  微服务 区别 联系 优缺点.doc 1. 应用微服务的动机,跟传统巨石应用的比较1 2. 面向服务架构(SOA)  esb2 3. 微服务架构(Microservices)2 4. 微服务架构特征(Characteristics)3 4.1. 通过服务实现组件化 vs   通过库(library)3 4.2.  去中心统一化  vs 统一的技术平台3 4.3. 7. Design for failure3 5. 服务划分有两个原则要遵循:单一职责原则    每个工具都小

微服务架构与实践及云原生等相关概念

微服务架构与实践 笔记:<微服务架构与实践> 王磊 著 一 单块架构 1 定义:对于这种功能集中.代码和数据中心化.一个发布包.部署后运行在同一进程的应用程序,我们通常称之为单块架构应用,并非物理上的分层. 2 单层架构:数据 逻辑 页面 混合 3 三层架构: 1)表示层:数据显示和用户交互 2)业务逻辑层:业务逻辑处理 3)数据访问层:数据存储访问 4 优势: 比较适合小项目 易于开发:开发简单直接,集中式管理,基本不会重复开发,集成工具适合 易于测试:单进程 易于部署:单项目包,功能都在本