栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

单体应用与微应用典型架构比对

单体应用与微应用典型架构比对

导语

随着云化时代的到来,软件服务架构也从传统的单体架构向微服务架构转变,微服务架构发展的如火如荼,那么单体架构和微服务架构区别在哪里呢?

单体应用典型架构

在典型单体应用架构中,我们会横向部署多个应用,用来支撑系统的吞吐量。为了实现负载均衡,使用反向代理软件(Nginx)把请求均匀分发到每个Tomcat中。

为了降低数据库的压力,我们引入分布式缓存,把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。

为了进一步降低数据库压力,我们把数据库划分为读库和写库,读库可以有多个,通过同步机制把写库的数据同步到读库,实现数据同步。

单体应用的典型架构如下:

 

微应用典型架构

为了解决单个Nginx的瓶颈,我们引入F5,F5是工作在网络第四层的负载均衡解决方案,可对TCP请求或更高层级的网络协议进行转发,实现对多个Nginx的均衡负载。

同时我们业务进行拆分,拆分成应用和服务。应用负责满足用户的使用需求,每个应用分别负责具体的业务场景,相互之间可以做到独立升级迭代。可复用的功能代码单独抽取出来形成服务,每个服务也可以单独进行升级。当然各应用和服务之间的通讯少不了ESB统一访问协议了。应用统一通过ESB来访问后端服务,服务与服务之间也通过ESB来相互调用,以此降低系统的耦合程度。

在数据库层面,传统数据库不适用于复杂的查询场景,需要根据具体场景进行拆分选用合适的组件。如对于海量文件存储,可通过分布式文件系统HDFS解决,对于key value类型的数据,可通过Hbase和Redis等方案解决。对于全文检索场景,可通过搜索引擎如ElasticSearch解决。

微应用的典型架构如下:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688546.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号