你好,我有以下问题:
我有.NET Core WebApi
和Distributed Database
(RethinkDB(,我想使用Docker
容器进行扩展。数据库既可以分片也可以复制(不过我对复制不感兴趣(。我的问题在于设计:
使用docker,我已经创建了
1。数据库
2的Dockerfile
。webapi
3的Dockerfile
。CCD_ 6。
我的问题是,在这种情况下,如何集成Docker-swarm
或Kubernetes
进行缩放?我不是很熟悉,但web-api
的工作依赖于数据库。在这种情况下我需要docker作曲吗?或者它们是如何结合在一起的?(停靠依赖组件+缩放(。
你是将所有组件固定在一个组件中,然后缩放它,还是将它们分开,然后分别缩放?
docker compose是一个用于运行多容器docker应用程序的工具,但它的用途有限。正如文档所说,它通常用于开发环境、自动化测试环境和单主机部署。(请参见:https://docs.docker.com/compose/overview/#common-用例(
如果要在多个主机上部署这样的应用程序,则需要一个编排系统。Docker swarm或kubernetes非常适合。这两个系统都需要一个docker注册表,您可以在其中发布自己的自定义docker映像。这些图像可以从您现有的Dockerfiles中构建。您的docker-compose.yaml文件没有在这些系统上使用,但您仍然可以将其完美地用于开发。
两种解决方案都可以分别缩放每个组件。哪一个实际上更好是有争议的,可能取决于您的体系结构。