互联网企业服务器资源的分配与利用

来源:互联网 发布:djvu转pdf软件 编辑:程序博客网 时间:2024/05/21 23:32

        机缘巧合, 有幸在科大校园听了京东集团副总裁、京东商城总架构师刘海峰校友作的关于大规模分布式系统在京东的状况和解决方案。他从数据中心操作系统、中间件系统、数据库,存储与计算系统、图片系统与智能应用、商城整体架构升级五个方面,系统层次的介绍了京东的硬件的架构与管理。对于如何解决硬件服务器资源的不足的问题上, 让我印象深刻和触发我思考应该就是三个关键字:超卖、混搭和智能。

        京东基于以上的思想以及一系列的平台方案,轻松、成功地应对了2017的618大促活动, 在2017年,资源的部分给整个公司节省了2亿人民币的成本,以收入减成本的公司来运算,这2亿就是增加的净利润了。接下来,京东还会从广度和深度继续进行改进, 甚至包含对服务器的用电节约的优化, 他们的目标是每年节省10亿人民币的成本。

        其实京东在服务器资源的这三方面思想听起来都很容易理解,但是每一项在真正的实际运用中包含着巨大的工作量和较高的难度。超卖要解决操作系统资源显示的伪装,混搭要解决资源的动态分配等,而智能需要面对的问题就更复杂了, 大数据的收集、读取以及相关AI算法的选择和模型的搭建。

        联合自己所在公司的状况, 可能也是绝大多数互联网企业的状况。服务器、空间、CPU、Memory这些资源作为服务运行的平台,各个服务的维护者希望是越大越好,多多益善。无间断提供服务已是一个最基本的目标,而系统的使用总是有峰有谷的,基于此每个维护者都是按照峰值来进行服务器资源配置的申请,而且在这个峰值的基础上在预留buffer,甚至double一下。有的服务甚至不去考虑资源的使用状况, 直接顶配申请。好像服务器配置不够规则,相关的服务的档次就不高, 没有技术含量。而实际使用中, 往往是很多资源都处于闲置和浪费。没有人来监控、也没有人来优化。服务器资源的成本增长远远大于公司的业务增长。

         如果将服务器本身的性能升级作为技术的话, 这里讨论的其实都是管理问题。如何合理有效的管理和分配服务器资源?

        超卖通俗的解释就是你问我申请多少资源, 我给你多少资源, 但实际上这些资源是打过折的, 只不过申请人感觉不出来。举例来说, 有一个部门因为某个项目或是服务的需求申请一个8核 CPU、4G内存 、 100G硬盘的资源,好, 那我给你,而且你看到的配置似乎也是这样的, 但是实际上或许配置都折半。这里,你可能有疑问,我自己使用命令行或是资源管理器看一下不就知道了吗? 这里就需要对操作系统做一些改动,最好可以是基于linux定制自己的操作系统。

        混搭就是让服务的运行时段错开, 对于京东来说, 有很多在线的商品售卖服务,这个不用多介绍了,就是访问京东的网站;也有很多是后台的一些运算服务, 比如一些数据的统计和运算。这两个服务的运行时间可以错开来。比如白天把更多资源给在线服务, 晚上则调配更多的资源给后台运算。

        智能则是使用大数据和AI相关的技术,达到对资源更合理的分配。AI包含的内容就太多了, 留待以后再来讨论吧 。


原创粉丝点击