微服务架构的基础设施、容器技术与组织效应
1. 微服务基础设施概述
微服务架构在当今软件开发中越来越受欢迎,而其基础设施的选择和管理对于系统的成功运行至关重要。当每个微服务运行在单独的虚拟机中时,扩展微服务变得更加容易。当负载过高时,只需启动一个新的虚拟机并将其注册到负载均衡器即可。而且,当虚拟机上的所有进程都属于一个微服务时,在出现问题时分析错误也更加容易,因为系统上的每个指标都明确属于这个微服务。此外,每个微服务运行在自己的虚拟机上时,还可以将其作为硬盘映像进行交付,这样部署的优势在于虚拟机的整个环境与微服务的要求完全一致,微服务甚至可以自带自己的技术栈,包括操作系统。
1.1 虚拟化与云服务
在部署新的微服务时,安装新的物理硬件几乎是不可能的。而且,微服务可以从虚拟化或云服务中受益,因为这会使基础设施更加灵活。可以轻松地为扩展或测试环境提供新的虚拟机。在持续交付管道中,微服务会不断启动以执行不同的测试。此外,在生产环境中,需要根据负载启动新的实例。因此,应该能够以完全自动化的方式启动新的虚拟机,而云服务正好提供了通过简单的 API 调用启动新实例的功能。要真正实现基于微服务的架构,云基础设施是必不可少的,通过手动操作提供的虚拟机是不够的,这也表明没有现代基础设施,微服务几乎无法运行。
1.2 Docker 容器技术
当每个微服务都有一个单独的虚拟机时,生成包含所有微服务的测试环境会很繁琐。即使是创建一个包含相对较少微服务的环境,对于开发人员的机器来说也可能是一个挑战,因为这样的环境对 RAM 和 CPU 的使用非常高。实际上,为一个微服务使用整个虚拟机并不是很明智,微服务只需要运行并集成到日志记录和监控中即可。因此,像 Doc
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



