![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/35303/32/19527/95151/635272b2E3914dda4/03dc592f4b702366.png)
文章插图
【云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践】优化一个分布式系统的吞吐能力,除了应用本身代码外,很大程度上是在优化它所依赖的中间件集群处理能力 。如:
kafka
/redis
/rabbitmq
/postgresql
/分布式存储(CephFS
,JuiceFS
,C urve
,Longhorn
)等集群的处理能力 。分布式存储集群(Longhorn)这里主要用于
Citus
集群的协调器(coordinator)
和工作器(worker)
节点的数据持久化 。具体文档,请参阅:
- https://longhorn.io/
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/39563/36/19950/115350/635272b3E5e9acf6b/8d7d6625edda423f.png)
文章插图
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/87343/16/29034/123191/635272b3Ebe4a7c7d/af8c63b683aba3f0.png)
文章插图
分布式 PostgreSQL 集群(Citus)这里主要用于对
Sentry
事件源数据大表 nodestore_node
的分片 。具体文档 , 请参阅:
- https://docs.citusdata.com/en/v11.1/
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/81724/19/18235/107916/635272b4Eafba1a38/0473e64a0f150e75.png)
文章插图
读写分离和高可用(PgPool+Repmgr)这里主要用于对
Citus
节点(协调器
/工作器
)进行读写分离和主备高可用 。具体文档 , 请参阅:
- https://www.pgpool.net/docs/pgpool-II-4.2.3/en/html/example-kubernetes.html
- https://repmgr.org/
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/163414/24/29389/104644/635272b5Eaef589da/051b11bfbad4cf0a.png)
文章插图
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/98545/6/33778/76649/635272b5E60117378/2720a103ee601b73.jpg)
文章插图
管理集群节点(PgAdmin)具体文档 , 请参阅:
- https://www.pgadmin.org/
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/170910/13/31145/315098/635272b6E3f9eb9d6/44a9ee3ed4a798bf.png)
文章插图
nodestore_node 大表分片选择分布式 key,并将表转换分布式表 , 这里将表划分为
64
个分片,数据平均分配到 6
台 worker
节点:# 创建分布式表SELECT create_distributed_table('nodestore_node', 'id', colocate_with => 'none', shard_count => 64);# 平衡分片SELECT rebalance_table_shards();# 查询分片SELECT * FROM citus_shards;
![云原生分布式 PostgreSQL+Citus 集群在 Sentry 后端的实践](https://m.360buyimg.com/jdcms/jfs/t1/138081/8/29923/157492/635272b7E6f20a0bc/46fa6e468dad3e58.png)
文章插图
总结中间件集群基础设施建设,本身涉及细节较多 , 可以说是另一个领域 。
本文提供了一种笔者的实践思路,抛砖引玉 。
推荐阅读
- 赵云是怎么死的(三国十大诡异人物)
- 微服务系列之分布式日志 ELK
- 五虎上将赵云的结局如何(五虎上将赵云地位最低)
- 五虎上将赵云是怎样死的(五虎上将为什么就出了一个赵云)
- 历史上真实的赵云是怎么死的(真实赵云有多厉害)
- 三国里赵云是怎么死的,又是谁杀的(三国第一猛将赵云)
- 赵云什么时候死的(赵云死于妻子之手)
- 三国演义中赵云是怎么死的(老三国赵云哪一集死的)
- 三国演义马超赵云咋死的(马超打不过赵云的原因)
- 赵云是死在什么地方的怎么死的(赵云晚年斩死4员大将)