系统设计的一些原则

高并发原则

在设计高并发的应用程序时,遵循以下原则可以更好的实现目的。

无状态


应用无状态方便水平扩展。实际的情况通常是,应用是无状态的,但是配置文件是有状态的,例如不同机房的应用读取不同的数据源。需要配置文件或配置中心来分配。

搭配K8S,水平扩展更方便。

拆分


在系统设计时,要考虑到系统是否做拆分。如果资源有限,并且用户并没有那么多,可以做一个大而全的系统。

而高并发的应用,通常是要做拆分的。

拆分可以依据多个维度:

  • 系统维度 :如订单、库存、商品系统等
  • 功能维度 :如,对登录系统再拆分,划分为 :验证码登录、微信登录、密码登录等功能。
  • 读写维度 :针对读写再做分离,读服务可以使用缓存、写服务使用分库分表。

服务化


首先判断单点服务是否可以满足,

如果不能满足,集群可以吗?使用Nginx做负载均衡是否可以解决?

服务越来越多,是否要使用服务自动注册与发现?

某些服务访问量太大,导致整个系统不可用,要不要上服务降级和限流?哪些是主要服务?

消息队列


消息队列的作用有三个 :削峰、解耦、异步。

某一个事件消息,多个系统需要使用到。如,注册了一个新的用户,优惠券系统需要送劵、积分系

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值