知乎发展中面临的问题以及docker提供的解决方案
首先是环境隔离——在物理机时代,由于每个业务依赖的系统环境不同,服务器之间无法通用,服务器负载也各不相同;另外,各个业务都需要独立管理服务器容量以处理服务器故障,这样,对业务开发造成较大负担。
其次是精细资源隔离——服务隔离要求按照服务接口对进程物理隔离,以防止因为某一个接口而影响整体服务的问题,同时也需要根据不同接口的特性设置不同的进程数、CPU和内存配置,以实现更加精细的资源管理。
第三是资源动态调整——业务需要快速自动适应流量负载的变化,这样,才可以在负载高峰期快速增加资源,以保证业务服务质量。另外,在负载低峰期释放资源给其它服务,提高集群资源利用率。虽说,这是知乎当前遇到的三大难题,大概这也是很多大规模平台会面对的问题。
Docker is the dangerous gamble which we will regret
中文翻译
开发人员与管理人员偏爱Docker的原因无外乎其所提供的功能自定义空间有限、相对不那么混乱、更长久且更加标准化——或者起码存在实现这类效果的机会。大多数支持Docker的群体仍在不断强调其带来的可移植性、安全性或者编排与配置能力。
最好将Docker视为一种高级优化方案。没错,它很酷且功能相当强大,但其同时也会增加系统复杂性,且只有专业的系统管理员才能够理解如何在生产中安全使用Docker并将其部署在关键性任务系统之内。
就目前来看,您需要掌握更多系统专业知识才能使用Docker。事实上,几乎所有Docker相关文章都只展示过分简单的用例,而忽略了在多主机生产系统上使用Docker所带来的复杂性挑战。这无疑给人们留下了Docker的实际生产应用非常简单易行这一极为错误的印象。
网友评论