10K 问题的解决:一个系统管理员如何管理 2000x 台服务器
来源:互联网 发布:邮轮预订 知乎 编辑:程序博客网 时间:2024/05/21 00:00
什么是 10K 问题?
在 1999 年,Dan Kegel 向网络服务器提出了一个骇人听闻的难题:
是时候让网络服务器去同时应对 10000 个客户端了,你觉得呢?毕竟网络已经变得很普及了。
这就是著名的 C10K 问题。 通过改善操作系统内核和从像 Apache 那样的线程服务器迁移到像 Nginx, Node 这样的事件驱动服务器,工程师们解决了这个 C10K 问题。
但现在我们面临着一个更大的挑战,如果同时应对一千万个连接呢?要解决这个难题,需要些更变革的技术。
在数据中心,服务器管理员们并不需要面对这样的挑战,但根据来自红帽(Red Hat)的 Dave Neary 在最近在 FLOSS Weekly 节目中所说,我们已经跨过了单个系统管理员管理过万台服务器的壁垒。
我们应该忽略这个里程碑事件吗?
绝对不是。这样 200x-2000x 的增长是一个了不起的成就。Dave 回忆说,在九十年代,一个管理员只能管理四五台微软的服务器,一个 Linux 的系统管理员也只能管理 50 到 60 台的服务器。
现在,公司们已经开始用单个系统管理员管理超过 10,000 台的服务器了,这个巨大的改变深刻影响了两样事情:1)IaaS,把数据中心改成弹性的可编程的资源,把操作从基础设施中分离;2)开发操作革命,它强调工具、文化、自动化、度量、资源共享和基础设施的编码;
那么需要怎样才可以令一个系统管理员就可以管理一千万台服务器呢?
谁会知道?当然是谷歌公司了。
James Hamilon说,计算服务器的数量是困难的,微软说,他们有一百万台服务器,然后,谷歌的服务器预计会达到一千万台,所以我们离单个系统管理员管理千万台服务器的日子还有些远;
但是,当这种情况发生时,下面所列就是这些系统的基础:
- 把数据中心当成单独一台计算机那样对待
- 然后,在数据中心内部,在计算机群上部署可复用的多维度多重作业,以便提高机器利用率和节约金钱
- 但这仅仅是一个数据中心,这并不是把你从 十 带到 百万 台服务器。对于千万台的服务器,你必须利用好这些数据中心,所以,你要建一个 Spanner 那样的可以管理百万台机器、几百个数据中心和数万亿个数据项的系统;
- 当然,你还需要建造一个巨型网络系统,把这些数据中心连接在一起;
- 最后,当你真的面临一个系统管理员管理千万台的服务器,你很可能需要付出巨大的精力去做深入的挖掘,使得之前的工作变得有意义。
在高层面来说,单个服务器同时应对千万个连接和单个系统管理员同时管理千万台机器是一样的:可扩展性就是一切。
但在低层面,他们是完全不一样的。处理千万个连接是关于扁平化处理数据,减少层面,单独自己的事情;而管理千万台服务器是关于把智能灌输到更加智慧的层面;这就很像人类身体内部万亿个个体通过自己的小系统共同协作,然后被平衡化和去中心化的大脑所处理。
- 10K 问题的解决:一个系统管理员如何管理 2000x 台服务器
- 如何解决XP系统管理员被禁用的问题
- 10K 问题的解决
- 外勤人员管理的问题如何解决
- 管理1800台服务器的工程
- 如何产生一个从x到y的k个随机数 Random(int x,int y ,int k)
- 一个简单JAVAWEB的台管理系统
- 关于解决多台服务器间的文件实时同步问题
- 关于解决多台服务器间的文件实时同步问题
- 如何删除系统管理员的账户
- java上传图片到另一台服务器上,如何解决
- 如何访问另一台服务器的数据库
- SQL2000管理SQL7服务器出现TIMEOUT问题的解决
- 多台web服务器的session 问题
- 如何解决cocos2d-x显示瓦片地图黑线的问题
- 如何解决cocos2d-x显示瓦片地图黑线的问题
- 如何解决python2.7x 版本的安装出错问题
- 如何解决MATLAB还有X天过期的问题
- 进程间的通信之管道
- gdb调试动态加载模块
- Android Studio新建的工程继承了AppCompatActivity设置隐藏标题栏后闪退
- Java多线程池的使用
- java 可变类 不可变类区别
- 10K 问题的解决:一个系统管理员如何管理 2000x 台服务器
- android 使用TableLayout 绘制表格
- 学习心得
- SSH登录后无法上传文件,修改sftp-server目录解决
- 基于Pytorch和Beam Search的中文聊天机器人
- Android 常用权限和依赖
- div中内容水平垂直居中
- HashMap源码分析
- javascript 回调函数