图解服务化架构演进

前言

来自dubbo的用户手册中的一句话:

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术架构就是分布式服务框架。

其实这篇是概念上的总结,技术概念软文,纪录此文让自己更明白什么是微服务化架构。

服务化架构演进

请看下图,也来自dubbo的用户手册,图中恰恰少了微服务架构的图。

那什么是微服务架构呢?

先从第一个图中第一个说起吧。

1.orm – 单一应用架构

我认为是一个高内聚版本,所有功能部署在一起。数据访问框架(orm)成为关键。这个架构很少被人使用,几乎接近灭绝了吧。

优点:成本低,适合功能少又简单 缺点:很多,比如无法适应高流量,二次开发难,部署成本高

2.mvc架构 - 垂直应用架构

当访问量渐渐增大,慢慢演化成用的很多的mvc架构。虽然还是所有的功能都是部署在同一个进程中,但是可以通过双机或者前置负载均衡来实现负载分流。这样应用也可以拆分成不同的几个应用,以提升性能和效率。

此时,mvc架构用于分离前后端逻辑。一方面,有一定的模块化。另一方面,加速和方便了开发。

3.rpc架构 - 分布式服务架构

当mvc垂直应用分成不同应用时,越来越多的情况下。不可避免的事应用a与应用b之间的交互。此时将核心和公共的 业务功能抽出来,作为单独的服务,并实现前后端逻辑分离。

此时则就需要提高业务的复用及整合的分布式rpc框架。

4.soa架构 - 流动计算架构

当rpc架构中的服务越来越多时,服务的生命周期的管控,容量的评估等各种问题会出现,使服务化成为瓶颈。需要增加一个调度中心来进行对服务管控,监督等。

然后,提到关键的 --

5.微服务架构

问:什么是微服务架构?

答:它就是将功能分散到各个离散的服务中然后实现对方案的解耦。服务更原子,自治更小,然后高密度部署服务。

下面是对微服务架构的图解:

小结

伴随敏捷开发,持续交付,DevOps,Docker等高速发展,微服务必然是未来演进方向。加油~ 多了解吧。

java 微服务架构图_图解微服务架构演进相关推荐

  1. 云管边端架构图_边缘云平台架构与应用案例分析

    计算产业链发展. Abstract : Multi-Access Computing(MEC)and Edge-Cloud technology is the product of ICT conve ...

  2. 区块链系统架构图_区块链模型架构

    一般说来,区块链系统由数据层.网络层.共识层.激励层.合约层和应用层组成. 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术:网络层则包括分布式组网机制.数据传播机制和数据验证机制等:共 ...

  3. 微服务架构图_漫谈何时从单体架构迁移到微服务?

    面对微服务如火如荼的发展,很多人都在了解,学习希望能在自己的项目中帮得上忙,当你对微服务的庐山真面目有所了解后,接下来就是说服自己了,到底如何评估微服务,什么时候使用微服务,什么时间点最合适,需要哪些 ...

  4. extjs实现组织架构图_如何画好一张架构图?(内含知识图谱)

    什么是架构图? 如何画好一张架构图,要做好这件事情首先要回答的就是什么是架构图.我们日常工作中经常能看到各种各样的架构图,而且经常会发现大家对架构图的理解各有侧重.深入追究到这个问题,可能一下子还很难 ...

  5. 荧光微球激发光谱图/橙色荧光微球/绿色荧光微球/氨基红色荧光微球/氨基橙色荧光微球

    荧光微球激发光谱图/橙色荧光微球/绿色荧光微球/氨基红色荧光微球/氨基橙色荧光微球 荧光光谱分析 图3是不同乳化剂制得荧光微球的激发光谱图.由图可知,不同乳化剂得到的激发光谱相似,均在300-425n ...

  6. blog微服务架构代码_聊聊微服务架构

    0. 前言 时至今日微服务架构已经成为了互联网公司的标配,好像如果你不采用微服务架构,你都不好意思说自己是互联网公司.但是一说到微服务架构,大多数人联想到的都是微服务框架.RPC远程调用协议.服务发现 ...

  7. java 搭建企业应用框架_溯源微服务开发体系:一位Java开发者的转型思考

    作者丨赵钰莹 简单来说,微服务是将大型单体应用程序和服务拆分为数个甚至数十个微服务,可扩展单个组件而不是整个应用程序堆栈,从而满足服务等级协议.然而,这个过程涉及很多问题需要解决,比如拆分原则.容量规 ...

  8. java ee的小程序_用微服务和容器替换旧版Java EE应用程序服务器

    java ee的小程序 Lightbend最近对2000多个JVM开发人员进行了一项调查,结果刚刚发布. 开展该调查的目的是发现:发展趋势与IT基础架构趋势之间的相关性,处于数字化转型前沿的组织如何使 ...

  9. python 微服务架构实战_《分布式服务架构:原理、设计与实战》第一章分布式微服务架构设计原理...

    1.从传统单体架构到服务化架构 1.1 JEE架构 JEE将企业级软件架构分为三个层级 : Web 层.业务逻辑层和数据存取层.对应的职能团队,主要包括:用户 交互 UI 团队.后台业务逻辑处理团 队 ...

  10. java 慕课 结题报告_[转载]微课组:小课题研究结题报告

    一.课题背景及界定 近两年,各种微课大赛和培训活动此起彼伏,微课热让我们不得不对传统教学资源进行反思.传统教学资源如教案.课件.习题等,这些资源以整节课或单元为组织单位,重点从辅助教师"教& ...

最新文章

  1. cefsharp 发送请求服务器_WEB服务器之HTTP协议
  2. Java程序员常看网站
  3. java实验四 集合与函数式编程实验
  4. java文件共享ftp怎么访问_文件共享服务器
  5. SpringMVC的请求-文件上传-单文件上传的代码实现2
  6. VirtualBox 释放虚拟磁盘文件的大小
  7. 关于sprintf和snprintf的比较
  8. 20172301 2018-2019-1《程序设计与数据结构》课程总结
  9. STM32 影子寄存器
  10. dmv 统计数据库io_使用内置功能和动态管理视图(DMV)发现特定于数据库的信息
  11. 趣学 C 语言(十)—— 控制台交互(getch() vs. getchar())
  12. 谈谈工业通信协议的采集和转换-如modbus opc profinet ethernetIP 61850等
  13. Bayes‘ theorem贝叶斯定理(基础理论+心理学小例子)
  14. java用户登录注册
  15. 智能家居之ESP8266接继电器接线方式
  16. 【Android】简单的开机启动、全屏、Dialog尺寸
  17. 景观智慧路灯:基于景观智慧灯杆的浙江嘉兴智慧旅游景区项目分享
  18. 什么是克鲁斯卡尔算法?
  19. Solaris10如何确认DirectIO是否已经启用
  20. 伽马(Gamma)校正的原理及opencv实现

热门文章

  1. 图像傅里叶变换的MATLAB实现
  2. 多维数据运算(矩阵乘法)
  3. 用计算机显示器主屏区域造句,显示器造句
  4. 2021 iOS面试题大全---全方面剖析面试(一)
  5. 实现写邮箱html页面,HTML写的第一个邮箱登陆界面
  6. 【杭电5053】the Sum of Cube
  7. 手机python30编程教程入门_Python新手入门教程_在手机上就能学习编程的软件
  8. Unity lua行为树实现(可实现rpg挂机自动战斗)
  9. JavaScript 弹窗
  10. matlab cholesky分解函数,matlab中矩阵LDLT分解与Cholesky分解