对于Runnf这种类型的应用,我们预估了主要的性能指标,即QPS和TPS,从而基于这种指标,我们在架构层面宏观上进行了设计。具体包括如下设计:

  • 应用的无状态设计,基于性能的负载均衡算法
  • 设计了初步的缓存模型,即把热点数据和不经常修改的业务数据放入缓存中
  • 通过返回空和缓存该空值的方式防止了缓存穿透问题,保证数据库的不被压垮
  • 可能存在缓存雪崩,通过同步机制来同步构建缓存内容代码进行预防
  • 数据库层面,通过读写分离机制降低了单库的写和读压力
  • 数据复制延迟问题提出了解决方案,即关键场景业务写和读主库,非关键场景业务读从库
  • 通过缓存来读,另外列举了通过开源第三方中间件来实现读写分离。

后续架构方向考虑重点如下:

  • 数据存储设计上,为了考虑后面的数据量增长趋势,以及单库性能的瓶颈,因为即使应用实例已经是无状态了,但是数据库连接毕竟是有限的,分库分表是一种基本的手段
  • 同时,对于关键资源和指标的监控,也是我们后期要建设的
  • 后端API服务的安全体系也是要考虑的重要环节
  • 一个比较重要的点就是单机性能的优化了,业务层面的流程优化,SQL和代码的优化,具体还要结合一些工具来找出问题点在哪里
  • 工程上,需要把持续集成做起来,因为系统稳定后,其实就是业务的快速迭代,快速响应市场活动,以及生态上的第三方合作

results matching ""

    No results matching ""