原文出处: 泥瓦匠BYSocket编程
来自dubbo的用户手册中的一句话:随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已没法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
后端
常规的垂直应用架构就至关于传统的那种,现阶段传统垂直架构改造的核心就是对应用作服务化改造,服务话改造使用的核心技术架构就是分布式服务框架。架构
其实这篇是概念上的总结,技术概念软文,纪录此文让本身更明白什么是微服务化架构。mvc
请看下图,也来自dubbo的用户手册,图中偏偏少了微服务架构的图。负载均衡
那什么是微服务架构呢?
先从第一个图中第一个提及吧。框架
1.orm – 单一应用架构分布式
我认为是一个高内聚版本,全部功能部署在一块儿。数据访问框架(orm)成为关键。这个架构不多被人使用,几乎接近灭绝了吧。ide
优势:成本低,适合功能少又简单 缺点:不少,好比没法适应高流量,二次开发难,部署成本高模块化
2.mvc架构 - 垂直应用架构微服务
当访问量渐渐增大,慢慢演化成用的不少的mvc架构。虽然仍是全部的功能都是部署在同一个进程中,可是能够经过双机或者前置负载均衡来实现负载分流。这样应用也能够拆分红不一样的几个应用,以提高性能和效率。
此时,mvc架构用于分离先后端逻辑。一方面,有必定的模块化。另外一方面,加速和方便了开发。
3.rpc架构 - 分布式服务架构
当mvc垂直应用分红不一样应用时,愈来愈多的状况下。不可避免的事应用a与应用b之间的交互。此时将核心和公共的 业务功能抽出来,做为单独的服务,并实现先后端逻辑分离。
此时则就须要提升业务的复用及整合的分布式rpc框架,例如dubbo等。
4.soa架构 - 流动计算架构
当rpc架构中的服务愈来愈多时,服务的生命周期的管控,容量的评估等各类问题会出现,使服务化成为瓶颈。须要增长一个调度中心来进行对服务管控,监督等。
而后,提到关键的 --
问:什么是微服务架构?
答:它就是将功能分散到各个离散的服务中而后实现对方案的解耦。服务更原子,自治更小,而后高密度部署服务。
下面是对微服务架构的图解:
伴随敏捷开发,持续交付,DevOps,Docker等高速发展,微服务必然是将来演进方向。加油~ 多了解吧。
问啊-定制化IT教育平台,牛人一对一服务,有问必答,开发编程社交头条 官方网站:www.wenaaa.com 下载问啊APP,参与官方悬赏,赚百元现金。
QQ群290551701 汇集不少互联网精英,技术总监,架构师,项目经理!开源技术研究,欢迎业内人士,大牛及新手有志于从事IT行业人员进入!