首页>行情 >内容

想在K8s上建置资料库服务吗Google说需要考虑这些因素

行情2021-02-21 14:05:48
最佳答案

用户使用云端资料库现行有几种方法,包括在虚拟机器或是Kubernetes上执行,或甚至是直接採用完全託管的记忆体服务,Google对此提供了一些建议,供用户在选择资料库之前做参考。

Kubernetes的应用越来越热门,许多应用程式被容器化,甚至专门将软体容器化的服务也热门起来,但这个热潮并没有发生在资料库上,Google提到,可以容器化的工作负载,通常具有能适应频繁地重新启动、横向扩展、虚拟化等其他限制,因此资料库在服务的可用性等要求,限制了资料在分散式环境中执行的发展。

Google提到,但是仍有不少开发团队,希望资料库可以使用与应用程式相同的堆叠,而营运人员也能使用相同的工具管理。比起完全託管的资料库服务Cloud Spanner、Cloud Bigtable和Cloud SQL等,和在虚拟机器上全自营运的选项,在Kubernetes上执行资料库虽然偏向全自营运,但是Kubernetes提供的自动化功能,是能为营运人员省掉一些麻烦,但Google提醒,营运人员要有心理準备,因为Pod状态仅为暂时性的,而且资料库应用程式重新启动与故障转移机率比较高,且资料库管理员的工作像是备份、扩展和调校等工作,会因为容器化新增的抽象层而不同。

由于Kubernetes的Pod是会消失的,因此故障转移事件性的可能性,会高于传统託管或是完全託管的资料库,而换得的好处是,当要执行的资料库,需要包含分片、故障转移选择或是内建的複製等功能,那在Kubernetes上营运将会更容易,部分开源专案还提供自订义资源以及营运工具,以帮助使用者管理资料库。

Google製作了一个决策树图,供用户评估并选择适合的云端资料库的方案,要在Kubernetes上建置资料库,最先需要了解的是,资料库的功能以及生态系的专案是否对Kubernetes友善,再来还需要评估组织营运工作负载的能量,有充足的营运能力再选择在Kubernetes上自建资料库。

在资料库的选择上,Google表示,开发人员需要考虑资料库在应用程式和业务环境中执行的功能,储存较多暂时状态以及快取层的资料库,更适合在Kubernetes上运作,因为该类型的资料库通常拥有较高的弹性,因此也能够在Kubernetes上提供较好的服务品质。另外,营运人员需要考量资料库支援的複製模式,非同步複製可能产生资料遗失等问题,因为交易可能只提交到主资料库,而没有传送给辅助资料库,营运人员需要靠考虑资料遗失,以及可接受遗失的资料量。

免责声明:本文由用户上传,如有侵权请联系删除!