微服务设计:部署

虽然可以把Java的JAR包做成可执行文件,并在其中运行一个嵌入式的HTTP进程,但对于类似于Ruby和Python这样的应用程序来说,你需要使用一个运行在Apache或者Nginx中的进程管理器。
基于容器的虚拟化,好处不仅仅是避免了hypervisor的使用,还可以加快反馈的速度,因为相比完整的虚拟机,Linux容器可以启动的非常快。对于一台虚拟机来说,花几分钟时间来启动是很正常的,但是Linux容器通常只需要几秒钟就能完成启动。
另一点需要记住的是,这些容器并不是彼此完全隔离的,比如,有许多文档和已知的方法介绍了某些容器中的进程,有可能会跳出该容器与其他容器中的进程,或者与底层主机发生干扰。
Docker是构建在轻量级容器之上的平台。它帮你处理了大多数与容器管理相关的事情,你可以在Docker中创建和部署应用,这些基于容器的应用与VM世界中的镜像很类似。
Docker本身并不能解决所有的问题,它只是一个在单机上运行的简单的PaaS。你还需要一些工具,来帮助你跨多台机器管理Docker实例上的服务。调度层的一个关键需求是,当你向其请求一个容器时,会帮你找到相应的容器并运行它。在这个领域,Google最近的开源工具Kubernetes和CoreOS集群技术能够提供一定的帮助。
posted @ 2023-07-02 14:42  wtzhang  阅读(16)  评论(0编辑  收藏  举报