java高并发-如何设计秒杀系统

java高并发-如何设计秒杀系统,第1张

java高并发-如何设计秒杀系统 如何设计秒杀系统?

支持高并发,高可用的场景
网络:网络带宽
硬件:硬件扩容
软件:分布式,满足可伸缩性(加机器软件不改变),满足可扩展(和软件有关,通用性设计)

负载均衡:硬负载,软负载(Keepalived)
动静分离:页面->CDN,应用->tomcat容器
读写分离:读应用,写应用,读库,写库

流量:流量过滤(漏斗形式的),MQ消峰

如何提高生产消息的效率?
1000w->批量生产->多线程,线程池批量生产数据

如何提高消息发送的效率?
1000w->批量发送(线程池)->网络耗时少,并行发送耗时少

消费方要注意比如:消息幂等性,消息丢失等情况
生产方要注意比如:分布式ID(雪花ID),并发计数

生产方如何进行并发计数?
使用原子类进行并发计数

Kafka是如何提高并发性的,消息储存在哪里?
消息储存在broker集群

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5708827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存