文档

选型介绍

更新时间:

集群评估

智能召回引擎BE采用分布式集群架构,主要由三部分组成:节点类型(即每个分片的规格)、副本数(即replica,每个备份都可独立承担线上流量,通过增加副本数可扩展集群的水平负载能力)、分片数(即partition,通过内部Hash处理,可将数据进行分片存储到不同的节点上,从而扩展集群的数据容量能力)

节点类型:

分片规格

磁盘大小

一跳查询QPS

数据更新TPS

cpu: 2核, mem: 8GiB

120GiB

2500

20000

cpu: 4核, mem: 16GiB

240GiB

5000

20000

cpu: 8核, mem: 32GiB

500GiB

10000

20000

cpu: 16核, mem: 64GiB

1000GiB

20000

20000

容量评估:

整个分布式BE的集群在线查询和数据更新能力评估:

集群的在线查询QPS = 所选节点规格对应的在线QPS * 副本数;

集群的数据更新TPS = 所选节点规格对应的更新TPS * 分片数;

注意:以上评估数据为内部测试经验,仅作参考;如需具体业务集群真实负载能力,需要自行压测。

举例参考:

某社交APP使用智能召回引擎BE进行陌生人社交查询,用户数据百万级,用户关系千万级,整体数据存储需100GB,线上流量QPS为20000,实时数据更新TPS为40000,查询RT为10ms。

评估思路:

1)整个业务要求较高QPS和RT,一般建议选择节点选择【cpu: 4核, mem: 16GiB】,基本符合大部分业务使用;

2)存储数据需要100GB,同时TPS达到40000,数据更新量较大,按照1个【cpu: 4核, mem: 16GiB】节点承载TPS为20000,需要对数据进行分片,从而提升集群的数据更新。选择分片数为【2】。

3)【cpu: 4核, mem: 16GiB】节点承载QPS为5000,业务要求QPS为20000,副本数计算值=20000/5000,选择副本数为【4】。

创建集群:

具体配置参考图如下:

image.png

副本数

智能召回引擎BE支持多副本,保证集群升级/数据切换中服务可用性。副本数越多,BE集群提供在线服务能力的searcher越多,集群在线性能更高,同时购买价格也会越多,望您按需选择。

分片数

智能召回引擎BE支持多分片,将海量数据索引进行hash分列,可以方便存储到固定存储的分片上。

具体的分片计算公式,如下:

分片数 = 存储量GB / 每个分片规格的磁盘量 / 2;

  • 本页导读 (0)