前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单体应用与微应用典型架构比对

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

作者头像
程序狗
发布2021-12-27 14:52:45
3680
发布2021-12-27 14:52:45
举报
文章被收录于专栏:大数据知识大数据知识

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

单体应用典型架构

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

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

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

单体应用的典型架构如下

微应用典型架构

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

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

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

微应用的典型架构如下:

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档