作者 | 潘娟
伴随着互联网应用场景逐渐深入到生活的各个角落,为了确保前端用户的使用体验,对互联网产品的后端架构性能提出了更高的需求 。如今,开发以及运维人员正在将工作重心和优化重点放在了后端基础设施的可用性、一致性、扩展性、弹性以及全面自动化管理等能够提升效率的技术能力层面 。
1 背景:Kube.NETes 环境中的微服务与数据库
应用部署的变化
一方面,在处处充斥着大数据以及高并发场景的今天,后台技术人员往往会花费更多精力在解决『大规模业务数据的存储与应用』等问题上,以确保数据库等基础设施能够实时提供最佳服务;另一方面,在云原生『大行其道』的今天,技术人员也需要根据业务发展,构思并设计能够满足未来业务诉求的云上服务架构 。
而这种颠覆性的云原生技术,正是我们今天谈论的主要对象,它改变了从开发、交付、部署到维护的全部技术流程 。如今,市场上的应用与业务已经普遍接受由各家云厂商所提出的『XaaS』概念 。与之伴随而来的,则是交付模式与架构形态的新变化 。
架构形态的变化
在部署形态发生转变的同时,架构模式也从单一的整体式架构逐步向微服务架构演进 。随着企业业务的持续扩张,前端的业务线也在持续发生着变化,这就要求后端系统能够快速响应前台每一条业务的单独诉求,而这在过去传统的架构模式中几乎是不可能实现的 。
微服务通过将一项单体式服务切分为多个更小的单元,围绕业务领域组件来创建应用,使这些应用可独立地进行开发、管理和迭代 。与此同时,在分散的组件中使用云架构和平台式部署、管理及服务功能,使产品交付变得更加简单 。而随着 Service Mesh 的兴起,服务间的解耦以及 API 调用等操作也被更加简化,以适应业务微服务的部署、交付以及业务诉求 。
而这些之所以能够兴起,正是 Kubernetes 在架构模式演进的过程中所提供的抽象平台与机制,这也是 Kubernetes 在全球流行的重要原因之一 。
借用 Kubernetes 官方文档 中的一段话,更能够体现 Kubernetes 的价值:
“Kubernetes 为你提供了一个可弹性运行分布式系统的框架 。Kubernetes 会满足你对于扩展、故障转移、部署模式等多方面的要求 。例如,Kubernetes 可以轻松管理系统的 Canary 部署 。” (摘自“为什么需要 Kubernetes,它能做什么?”部分)
Kubernetes 是管理微服务生命周期的理想化平台,那么作为有状态的服务,数据库在这种大环境下应具备哪些新特性呢?
数据库层面的变化
针对上述问题,应用层采用了微服务架构来作为解决方案 。但数据库的情况却有些不同 。在数据库层面,面对『蜂拥而至』数据体量,常见的解决方案是对数据库层进行数据分片,将数据库改造为分布式架构 。
当前,不论是 MongoDB、Cassandra、Hbase、DynamoDB 等非关系型数据库还是 Cockroach、google Spanner、Aurora 等新型数据库,分布式架构无处不在 。分布式数据库需要将单体数据库分片为更小的单元,从而实现高性能和弹性伸缩 。这也就是为什么 CockroachDB 兼容 PostgreSQL 协议;Vitess 为 MySQL 提供了分片特性;AWS 开发了 Aurora-MySQL 和 Aurora-PostgreSQL 。
而对于企业用户数据库选型来讲,新型的数据库解决方案,不仅要解决分布式、单元化的问题,更要考虑『如何让客户从现有的 Oracle、MySQL、PostgreSQL、SQLServer 等数据库迁移至新数据库产品中』的问题,其原因在于:传统关系型数据库仍然占据着庞大的市场份额,数据库替换的痛点是企业用户不得不面临的重要课题 。
2 需求:在 Kubernetes 上实现数据库的云中立
云的兴起意味着数据库面临着新的挑战 。云平台遵循“随机应变”、“一切皆服务”、“开箱即用”的原则,正逐步改变用户对于传统研发、交付、部署、维护等技术流程 。
以应用程序开发人员为例,在云原生环境下,开发人员通常会在云上或 Kubernetes 上交付应用 。这是否意味着数据库也应该在云端或 Kubernetes 上部署?大多数用户应该都会这样认为,这也是为什么数据库即服务(DBaaS)的概念越来越受欢迎 。
然而,如果你是一家准备上云的企业,首先要确认的一定是哪家云厂商能够为业务提供长期的技术支持 。但事实上,任何人都心知肚明这是很难实现的 。因此为了将风险分摊开,在企业视角中,多云就成为了市面上最广泛的选择,而将应用及数据库部署在 Kubernetes 上完成与云厂商的解耦和依赖,正是解决这类问题的可选项之一 。
推荐阅读
- 神秘的大佛|十多万拍一部功夫片,实现零的突破险遭禁映,创下8000多万票房!
- 不耻下问的故事20字 不耻下问的故事
- 电影院|北京进电影院需48小时核酸 上座率控制在75%以下
- 上有天堂 下有苏杭(苏州排在杭州前面当之无愧)
- 上九天揽月 下五洋捉鳖什么意思 上九天揽月 下五洋捉鳖
- 想知道天蝎座喜不喜欢你,看有没有以下表现,一秒猜透他们的内心
- 文竹摆放也有禁忌?以下3个地方不要放文竹,容易黄叶难养护
- 辅警|有潜力的几种下属
- 天下长河|《天下长河》已经迎来收官,网上也传出了接档剧的消息,让人十分的期待
- 药材是经济效益很高作物,选择以下两种也许给你带来致富