当前位置 : 主页 > 网络编程 > PHP >

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

来源:互联网 收集:自由互联 发布时间:2023-09-07
如何设计秒杀系统? 支持高并发,高可用的场景 网络:网络带宽 硬件:硬件扩容 软件:分布式,满足可伸缩性(加机器软件不改变),满足可扩展(和软件有关,通用性设计) 负载均衡:硬负载,软负载


如何设计秒杀系统?

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

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

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

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

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

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

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

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


上一篇:Java基础-Array
下一篇:没有了
网友评论