高并发系统架构设计

高并发系统设计思路

系统拆分

将一个系统拆分为多个子系统,用Dubbo来搞,然后每个系统连接一个数据库,这样本来就一个库,现在多个数据库

缓存

必须使用缓存,大部分的高并发场景,都是读多写少,那么完全可以在数据库和缓存里兜都写一份,然后读的时候大量走缓存就可以,Redis单机几万的并发很轻松,所以在系统设计的时候,需要考虑一下项目中承载主要请求的场景,怎么用缓存来扛高并发

MQ

必须得使用MQ,当进行系统拆分和数据分析缓存之后,还是会坑出现高并发的场景,比如一个业务操作里要频繁的操作数据库几十次,增删改增删改等等,那这样的情况下高并发绝对会搞垮系统,如果使用Redis来承载那又不行,如果数据被优化了,那么数据就会出问题,所以需要使用MQ,对于一些业务场景的数据,前面的请求快速处理,后面消费数据或者处理数据的消费者慢慢操作,这样整体下来也会提高系统的性能

分库分表

可能到了最后数据库层面还是免不了抗高并发的要求,那么就将一个数据库拆分成多个库,多个库来扛更高的并发,然后讲一个表拆分为多个表,每个表的数据量少一点,提高SQL的性能

读写分离

这个就是说大部分数据库也是读多写少的,没有必要苏有的请求都集中在一个库上,可以搞多个主从架构,主库写入,从库读取,搞一个读写分离,读流量太多的情况下,可以追加更多的从库

Elasticsearch

可以考虑使用es,es是分布式的,可以随便扩容,分布式天然就可以支撑高并发,因为动不动就可以扩容加机器来康更高的并发,那么一些比较简单的查询,统计类的操作,就可以考虑使用es来承载,还有一些全文搜索类的操作,也可以考虑使用es来承载

上面这几点就是再设计一个分布式系统必须要用到的一些技术栈和概念,再项目实战的时候需要酌情考虑使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值