2.分布式架构的常见问题有哪些?嘻哈的简写笔记——架构演进


声明:图片是嫖来的!


(1)服务器之间的异步通信:使用分布式架构之后,服务之间的通信都是同步的,在一些不是核心的功能上可以用异步通信;以加快处理速度,提高响应;(原因就是某一些模块可以不用那么实时,比如日志模块,当你在使用日志模块的时候呢,可以不用等它打印完再进行下一步,完全可以异步来,让他自己先打印着;再比如商家接单的时候,用户也不会在哪里转圈,等着商家接单
为了实现服务器之间的异步通信,可以采用RabbitMQ等消息队列中间件
在这里插入图片描述
(2)服务之间通信地址的维护
越来越多的模块,越来越多的机器,这么多的IP地址,那么如何管理与维护通信地址? 使用Eureka,实际上他就是一个注册中心
Robbin实现服务之间的负载均衡;为什么呢?因为到了后期,Nginx只能负责到Colleroller这里的负载均衡了,后面的哪些Service + Dao 等模块Nginx无法进行负责;所以就需要Robbin来相互配合进行负载均衡
在这里插入图片描述
························································································································

(3)服务降级:某一个模块宕机了,发送请求没有响应了,但是后面还有许许多多的请求都等着呢,如果持续下去会造成一个连锁反应,该怎么办呢? 就需要一个应急方案,就是服务降级好歹给个响应;但是给的也绝对不是正常的响应;
解决方法:采用Hystrix处理,Hystrix提供了线程池隔离的方式,避免服务器线程池耗尽;在一个服务无法使用时,提供断路器的方式来处理问题服务,从而执行降级方法,返回托底数据; 断路器+隔离
说明Eureka,Robbin,Hystrix 都是SpringCloud技术栈中的组件,都是SpringCloud

(4)海量数据(mysql单表数据一般不超过一千万)就是在非常大的数据下很多数据库无法承受如此大的数据; 只 能把大表分成一个个的小表,把数据给分开;
解决方法:可以采用
MyCat实现数据库的分库分表

在这里插入图片描述

。。。。。。。。。。。。。

嘻哈的简写笔记

。。。。。。。。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值