翻译|使用 StatefulSet 运行数据库应用
本文介绍 Kubernetes 支持数据库等有状态应用的常见解决方案:StatefulSet。
在构建机器学习向量管理层时,我们面临的一个重要问题:如何持久化数据以避免数据丢失?
在阅读了许多数据库企业发布的博客后,我们认为 StatefulSet[1] 是实现这个目标的可行方法。
我们研究了不同的数据库,包括 Cockroach、MySQL、MongoDB、Cassandra、PostgreSQL、Dgraph 和 Redis。我们还研究了 Kafka 和 Zookeeper,因为它们都需要持久化状态。我们选择这些数据库是基于两方面:
- 它们是业界广泛使用的数据库解决方案,并可以部署在 Kubernetes 上。其中一些是云原生数据库,如 Cockroach。
- 这些有状态应用是不同类型的,比如 MySQL 是关系型数据库,MongoDB 是非关系型数据库。研究不同类型的数据库让我们对使用 StatefulSet 方案更加自信。
下面列出了一些关于如何使用 StatefulSet 在 Kubernetes 中部署不同数据库或有状态应用程序的文章。
Cockroach
- 3 ways to master stateful apps in Kubernetes[2],
Kubernetes 有两种方法管理状态:DaemonSet 和 StatefulSet,但是 Cockroach 强烈建议使用 StatefulSet。
- How to Run CockroachDB on Kubernetes[3]Deploy a Local Cluster with Kubernetes[4]
MySQL
- Run a Replicated Stateful Application[5]
- Kubernetes StatefulSet — Example & Best Practices[6]
这篇文章介绍了使用 Kubernetes StatefulSet 部署 MySQL 的端到端流程。
MongoDB
- Running MongoDB on Kubernetes with StatefulSets[7]
- How to Run MongoDB on Kubernetes[8]
Cassandra
- Deploying Cassandra with a StatefulSet[9]
PostgreSQL
- Deploying PostgreSQL as a StatefulSet in Kubernetes[10]
Dgraph[11]
Redis
- Deploying Redis Cluster on Kubernetes[12]
Kafka
- Set-up Kafka Cluster Using Kubernetes StatefulSet[13]
Zookeeper
- Running Zookeeper, A Distributed System Coordinator[14]
基于上述文章,我们将开始使用 StatefulSet,看看它是否能够满足我们的应用场景。
原文链接:https://medium.com/@junxie2/kubernetes-statefulset-for-db-applications-7fd186c6ccb9
参考引用
1.StatefulSet: https://kubernetes.io/zh-cn/docs/tutorials/stateful-application/basic-stateful-set/
2.3 ways to master stateful apps in Kubernetes:https://www.cockroachlabs.com/blog/kubernetes-orchestrate-sql-with-cockroachdb/
3.How to Run CockroachDB on Kubernetes:https://www.cockroachlabs.com/blog/running-cockroachdb-on-kubernetes/
4.Deploy a Local Cluster with Kubernetes:https://www.cockroachlabs.com/docs/stable/orchestrate-a-local-cluster-with-kubernetes.html
5.Run a Replicated Stateful Application:https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
6.Kubernetes StatefulSet — Example & Best Practices:https://loft.sh/blog/kubernetes-statefulset-examples-and-best-practices/
7.Running MongoDB on Kubernetes with StatefulSets:https://kubernetes.io/blog/2017/01/running-mongodb-on-kubernetes-with-statefulsets/
8.How to Run MongoDB on Kubernetes:https://kubernetes.io/blog/2017/01/running-mongodb-on-kubernetes-with-statefulsets/
9.Deploying Cassandra with a StatefulSet:https://kubernetes.io/docs/tutorials/stateful-application/cassandra/
10.Deploying PostgreSQL as a StatefulSet in Kubernetes:https://www.bmc.com/blogs/kubernetes-postgresql/
11.Dgraph:https://dgraph.io/docs/deploy/kubernetes/
12.Deploying Redis Cluster on Kubernetes:https://www.containiq.com/post/deploy-redis-cluster-on-kubernetes
13.Set-up Kafka Cluster Using Kubernetes StatefulSet:https://medium.com/@knoldus/set-up-kafka-cluster-using-kubernetes-statefulset-30d73d25864b
14.Running Zookeeper, A Distributed System Coordinator:https://kubernetes.io/docs/tutorials/stateful-application/zookeeper/
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假