分布式架构的非功能质量需求

非功能质量需求分为4个部分:应用服务器,数据库,缓存,消息队列

本文摘自《分布式服务架构》

用于备忘,便于查找


1. 应用服务器

部署结构
序号部署结构
1负载均衡策略
2高可用策略
3I/O模型
4线程池模型
5线程池中的线程数量
6是否多业务混合部署
容量和性能
序号容量和性能
1各接口的请求量
2各接口的访问峰值
3平均的请求响应时间
4最大的请求响应时间
5在线的用户量
6请求的大小
7网卡的I/O流量
8磁盘的I/O负载
9内存的使用情况
10CPU使用情况
其他指标
序号其他指标
1请求的内容是否包含大对象
2GC收集器的选型和配置

2. 数据库

部署结构
序号部署结构
1复制模型
2失效转移策略
3容灾策略
4归档策略
5读写分离策略
6分库分表(分片)策略
7静态数据和半静态数据是否使用缓存
8有没有考虑缓存穿透并压垮数据库的情况
9缓存失效和缓存数据预热策略
容量和性能
序号容量和性能
1当前的数据容量
2每天的数据增量(预估容量)
3每秒的读峰值
4每秒的写峰值
5每秒的事务量峰值
其他指标
序号其他指标
1查询是否走索引
2有没有大数据量的查询和范围查询
3有没有多表关联,关联是否用到索引
4有没有使用悲观锁,可否改成乐观锁,可否利用数据库内置行级锁
5事务和一致性级别
6使用的JDBC数据源类型及连接数等配置
7是否开启JDBC诊断日志
8有没有存储过程
9伸缩策略(分区表,自然时间分表,水平分库分表)
10水平分库分表实现方法(客户端,代码,NoSQL)

3. 缓存

部署结构
序号部署结构
1复制模型
2失效转移策略
3持久策略
4淘汰策略
5线程模型
6预热方法
7哈希分片策略
容量和性能
序号容量和性能
1缓存内容的大小
2缓存内容的实现
3缓存内容的过期时间
4缓存的数据结构
5每秒的读峰值
6每秒的写峰值
其他指标
序号其他指标
1冷热数据比例
2是否可能发生缓存穿透
3是否有大对象
4是否使用缓存实现分布式锁
5是否使用缓存支持的脚本(Lua)
6是否避免了Race Condition
7缓存分片方法(客户端,代理,集群)

4. 消息队列

部署结构
序号部署结构
1复制模型
2失效转移
3持久策略
容量和性能
序号容量和性能
1每天平均的数据增量
2消息持久的过期时间
3每秒的读峰值
4每秒的写峰值
5每条消息的大小
6平均延迟
7最大延迟
其他指标
序号其他指标
1消费者线程池模型
2哈希分片策略
3消息的可靠投递
4消费者的处理流程和持久机制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值