分布式和集群相关的东西,已经是未来系统发展的趋势。
2020年05月26日
分布式和集群相关的东西,已经是未来系统发展的趋势。
自从研究了redis的监控工具之后,对于redis的集群实现方案又回头做了一个系统的研究。
首先,先说一下redis,是一个高性能的key-value类型的NoSQL数据库,支持较为丰富的数据类型,单机Redis在普通的服务器上通常ops上限在5w左右,开启pipeline的情况下在20-30w左右。对于大多数中小公司来说,通常单机的Redis已经足够,最多根据不同业务分散到多台Redis。但是随着数据的越来越多,也迫切需求支持分布式集群。
redis基本上有三种使用方式:standalone,cluster,sentinel。下面进行一些总结。
VictoriaMetrics是一个高性能的,长期存储的prometheus的远程解决方案,实现集群使用的federation的方式,只不过性能很优秀,包括write和query,聚合数据也解决了查询问题。
crotex是一个为了支持prometheus扩展的服务,支持水平扩展,高可用,多租户,长期存储。主要开发者也是promehteus的开发者
Uber开发了指标平台M3和分布式时间序列数据库M3DB。来解决Uber在发展过程当中遇到的问题:使用开源软件后,因为可靠性,成本等问题,在操做密集型方面没法大规模使用这些开源软件。因此Uber逐步构建了本身的指标平台。咱们利用经验来帮助咱们构建本地分布式时间序列数据库,高度动态和高性能的聚合服务,查询引擎以及其余支持基础架构。
Thanos,一组通过跨集群联合、跨集群无限存储和全局查询为Prometheus 增加高可用性的组件。