分布式相关问题

最大五亿id的存储,定时任务的分发(每隔多少天一次)
根据日期存表(id,电话,过期时间),如果一天来了五亿,那么分表,分表的信息放到一个原信息表中,到期全天不定时发送任务,分散cpu占用率。

当某一时刻数据大量涌入 底层是mysql。单机mysql每秒2k正常运行,5k几乎要死了。偶尔数据量会飙升,怎么解决?
如果实时性要求比较高的话,分布式,多实例,增加系统的计算能力。
如果实时性要求比较高的话,但资源实在有限,可以 限流 降级 熔断
实时性不高的话,可以用消息中间件进行消峰

feign原理
netty nio

config配置文件动态刷新
spring-cloud-config
阿波罗

服务治理
服务的依赖关系
服务压力,访问时长 访问次数等
服务调用成功了多少
服务调用失败了多少,失败的日志、原因,如何回溯重现
服务报警
资源监控

怎么保证请求的幂等性
需要保证幂等性的接口,必须有一个唯一的请求id
前端防抖
将请求id放到内存中
将请求id放到redis中
将请求id 放到db中
防抖框架

如何保证三个请求顺序执行,对应一个订单的三个操作 曾改删
肯定要串行执行,分布式对他来说毫无意义
但不同订单又可以并行,这是一个相对串行的问题
他们的到来必须保证 1 2 3的顺序性

将相同订单的操作 hash 到mq的同一个队列中
每个队列用一个消费者去消费

放到redis中,准备几个list.
将相同订单的操作 hash 到同一个list中
每个list用一个线程消费

消息队列串行化

分布式sessionn
tomcat 将session放到 redis
spring 将session放到 redis

事务原理
thread-local

高并发下如何限流,使用什么算法
令牌桶 漏斗算法 :恒定流量的速率
https://zhuanlan.zhihu.com/p/197402205
漏斗算法:恒定速率,不支持突发流量,突发流量来了,能保存但还是以原来最大恒定的放行速度处理,不管你是否处理完成
令牌桶算法:恒定速率,可以支持突发流量,当突发流量大于令牌数量的时候,会放弃处理,必须等处理完吧令牌放回去才会继续处理
在某些情况下,漏桶算法不能够有效地使用网络资源。因为漏桶的漏出速率是固定的,所以即使网络中没有发生拥塞,漏桶算法也不能使某一个单独的数据流达到端口速率。因此,漏桶算法对于存在突发特性的流量来说缺乏效率。而令牌桶算法则能够满足这些具有突发特性的流量。通常,漏桶算法与令牌桶算法结合起来为网络流量提供更高效的控制。可以前面放一个漏桶加令牌桶;也可以是两个结合成一个东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值