kubernetes - 使用 Kubernetes/Containers 构建 Android 应用程序有什么好处
问题描述
我将很快构建一个 Android 应用程序(不是游戏)。我听说过容器化开发和 Docker/Kubernetes,但我并不精通它的功能和用例。
为什么要使用 Kubernetes 构建我的 Android 应用程序?
解决方案
您的问题可以分为两部分:
1. 为什么要容器化我的部署?
我希望通过“部署”,您指的是为您的 Android 应用程序服务的后端服务;不是应用程序本身(不确定如何做到这一点......)。这是一篇好文章。
容器化是一种强大的抽象,可以帮助您管理代码和环境。设置具有正确依赖项、实用程序等的容器并保护它们是一项繁重的工作,就像任何服务器设置一样。但是,一旦将所有内容打包到容器中,您就可以多次部署所述容器并在其之上构建。因此,您过去所做的繁重工作的价值会在您未来的部署中得到延续;相反,错误也是如此……此外,您还可以利用 Docker 生态系统并建立在各种社区贡献的基础上,从而大大加快您的工作流程。
一个可能的意想不到的好处是防止配置漂移。每当服务失败或您的应用程序崩溃时,您只需重新启动容器,就会再次创建新版本的服务。但是,为了支持这些操作,您需要确保您的容器化服务在重新启动时表现良好并且正常失败。还有许多其他注意事项和优点未在此处列出;您可以在 Google 上找到更多讨论。
2. 为什么要使用 Kubernetes 进行容器编排?
如果你有很多容器(想想大约 100 个),那么使用像 Docker/docker-compose 这样的单节点解决方案来管理它们会变得乏味。
如果只有一个工具可以跨多个节点进行管理,在节点之间实现服务发现,具有容错能力(即自动重启,退避策略),对服务进行健康检查,管理存储资产,并方便地将容器暴露给公众。这个工具就是 Kubernetes。
这是更深入的介绍。
希望这可以帮助!
推荐阅读
- ios - React Native:向 iOS 应用程序添加键盘快捷键
- encryption - 如何在云端管理加密密钥?
- payumoney - 集成 java 工具包时,PayuMoney Netbanking 选项未出现
- sql - 如何在 SQL Server 中查询此输出
- javascript - 在两个任务之间添加延迟并获得意外的执行顺序
- java - 区别:this vs Myclass.class vs MyClass.getClass() 同步
- python - PyQt5:未加载驱动程序
- node.js - 如何模仿消息的接收?
- cakephp - CakePHP:如果发生至少 1 个错误,则通过电子邮件发送日志输出
- ngx-bootstrap - 手动触发预输入