专栏首页生活不止眼前的代码分布式架构的非功能质量需求

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

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

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

用于备忘,便于查找


1. 应用服务器

部署结构

序号

部署结构

1

负载均衡策略

2

高可用策略

3

I/O模型

4

线程池模型

5

线程池中的线程数量

6

是否多业务混合部署

容量和性能

序号

容量和性能

1

各接口的请求量

2

各接口的访问峰值

3

平均的请求响应时间

4

最大的请求响应时间

5

在线的用户量

6

请求的大小

7

网卡的I/O流量

8

磁盘的I/O负载

9

内存的使用情况

10

CPU使用情况

其他指标

序号

其他指标

1

请求的内容是否包含大对象

2

GC收集器的选型和配置

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 条评论
登录 后参与评论

相关文章

  • RabbitMQ笔记(四)-CachingConnectionFactory

    通常我们使用RabbitTemplate来进行简单的收发消息,而RabbitTemplate使用CachingConnectionFactory作为连接工厂,

    yingzi_code
  • SpringDataJPA笔记(15)--Inheritance注解详解之JOINED

    SpringDataJPA笔记(15)–Inheritance注解详解之JOINED

    yingzi_code
  • SpringCloudGateway笔记(3)-Predict与自定义Predict

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    yingzi_code
  • FFmpeg封装格式处理2-解复用例程

    本例实现,将输入文件中的视频流和音频流分离出来,保存为单独的文件,所保存的文件是不含封装格式的裸流文件。

    用户4940323
  • 填坑!完结娱乐圈明星关系图谱

    娱乐圈明星关系图谱体验地址,建议先体验后阅读本文,或者先打开链接,等阅读完没准页面也加载好了(太卡警告!或者去B站看下录制的28s超短视频:超酷炫的娱乐圈明星关...

    古柳_DesertsX
  • Spring 中的 18 个注解,你会几个?

    标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.

    一个优秀的废人
  • 16个Spring注解,你知道的有几个?

    标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.

    程序员追风
  • 16个Spring注解,你知道的有几个?

    标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.

    IT大咖说
  • Spring中的18个注解,你会几个?

    https://m.toutiaocdn.com/i6693736960273416712

    好好学java
  • 【Python】爬虫+ K-means 聚类分析电影海报主色调

    每部电影都有自己的海报,即便是在如今这互联网时代,电影海报仍是一个强大的广告形式。每部电影都会根据自身的主题风格设计海报,精致的电影海报可以吸引人们的注意力。那...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券