马文,去哪儿网平台事业部数据平台研发工程师, 于2015年7月份加入去哪儿网, 在平台事业部从事运维开发工作。其工作范围主要有Mesos / Marathon / Docker等资源管理调度和容器方面的研究,ELK日志收集方面的研究,Elasticsearch数据搜索技术的研究以及Elasticsearch SAAS平台的建设和运维工作。

马文先生所在的去哪儿网ops部门属于运维和开发部门,主要负责公司基础设施的开发和保障,为公司提供基础平台的建设与基础公共设施的建设。采访过程中,马文先生告诉笔者,作为公司的后勤保障部门,我们的工作就是为公司的其他业务部门提供优质的服务,例如某个业务需要搜索服务,我们就为他们提供搜索平台;某个部门要使用日志收集功能,就会为他们提供这一服务。因此,如何建设一个强大的系统平台,至关重要。为此,我们利用Mesos/Docker技术开发了Elasticsearch SAAS(ESAAS)平台。

Elasticsearch SAAS(ESAAS)平台在开发过程中遇到的最大困难是什么?是如何解决的?随后,笔者就这一话题与马文先生进行了沟通。在谈到相关的技术话题后,马文先生在回答笔者提问时充分体现出了一名研发工程师的严谨,讲话思维敏捷,逻辑清晰,除了技术上的相关内容沟通外,没有过多的话语。

马文先生表示,利用Mesos/Docker技术开发的Elasticsearch SAAS(ESAAS)平台是2016年3/4月份刚刚上线的系统,是一个比较年轻的系统。在这个系统的建设过程中,主要遇到了三个方面的问题。

第一,在系统建设初期遇到了服务编排的问题,这也是大部分私有云服务最核心的问题,主要是解决怎么才能把系统中的各个组件合理的编排在一个流程之内。在遇到这个问题后,团队积极去寻找一些业内比较好的开源的成果,一是参考了ES官方提供的Elasticsearch Cloud这项服务,它是一个基于ES的基础的云服务平台。二是参考了亚马逊提供的基础云服务。除此之外,我们还结合公司内部的实际使用情况,比如在没有进行这项业务之前,公司各个业务部门是怎么样使用ES服务的,进行了系统的设计。

因此,在Elasticsearch SAAS(ESAAS)平台开发过程中,主要参考了业界比较好的开源系统,结合公司内部的实际情况,进行了设计和开发。

第二,在服务上线后,后期的开发和维护过程中遇到的最大的问题是私有云平台内部资源过热。所谓资源过热,是因为Elasticsearch SAAS(ESAAS)平台是一个资源池化的系统,把所有的资源都放到一个池子当中,就会出现这个问题。原因是由于我们提供的ES服务是以集群为单位的,每个业务线向我们申请ES服务时有时会造成资源扎堆的情况,例如某几台服务器由于Mesos调度的结果就会有比较集中的ES节点,就会造成几种情况发生。第一种是某些服务器的磁盘已经用满,而其他服务器的磁盘利用率则不高。第二种是计算I/O比较大的几个集群扎堆在一起,导致这些服务器的I/O会非常高,其他服务器利用率就会较低。

在解决资源过热的问题上,分成了三个步骤。第一步是统计整体平台中资源的情况,统计磁盘扎堆的情况、I/O扎堆的情况,并将统计的结果做聚合分析,进行直观展示,这样就能看到集群里面哪一块局部过热。第二步是人工调整,根据第一步的展示结果,通过人工迁移的方法去调整过热的点,进行平衡使用。通过逐步调整,就会总结出一套规律和算法模式。第三步是根据人工调整的规则,变成自动化的处理,将重复的人工劳动,变成自动化。

马文先生表示,Elasticsearch SAAS(ESAAS)平台开发已经进入到第二步的调整,并且总结了一些经验,接下来将会进入第三步,将重复的人工劳动变成自动化。逐步的系统就会自动解决资源过热的情况,不再需要人工参与。他表示,目前系统已经覆盖了30+的业务,在系统上已经有50个集群,已经承载了公司大部分的ES服务。存储规模已经能够达到200TB+的数据存储量。此外,私有云的构建模式已经在公司推广开来,其他的部门也在按照我们这种私有云的模式在后续构建一些其他相关的服务平台。

在采访结束前,笔者询问了马文先生对WOT峰会的一些建议,马文先生表示,WOT不光是技术交流的峰会,更多的是一个平台,技术人共同成长的平台。在这个平台上,有很多技术牛人聚集在一起,在一起分享,不仅对于我个人,对于技术圈都有推动作用。对我个人的提高也有推动。他建议我们应该多增加一些线下的技术交流,以推动技术人的共同成长。

作者:ZC
来源:51CTO

去哪儿网马文: ESAAS平台技术开发实战相关推荐

  1. 携程去哪儿网合并:背后的技术力量回顾

    2015年10月26日,携程宣布与百度达成股权置换交易,通过股权交换的方式来完成去哪儿网与携程的合并.交易完成后,百度将拥有携程普通股可代表约25%的携程总投票权,携程将拥有约45%的去哪儿总投票权. ...

  2. 区块链研究生专业_滁州区块链平台技术开发专业软件公司

    滁州弈聪软件是专业滁州区块链技术开发公司,致力于区块链平台技术开发及区块链平台搭建服务,在电子货币,加密货币及虚拟币钱包开发,虚拟币交易系统开发,区块链+数字资产管理系统开发及电子金融行业具有丰富的经 ...

  3. 联发科MT6755/P10平台技术开发资料集锦(datasheet,参考设计,PCB,原理图,MMD,GPIO)

    MT6755/P10这款系统单芯片解决方案不仅是Helio P系列首款SOC,它还率先采用台积电28纳米HPC+制程的产品,同时亦整合了多项先进技术. 基础规格方面,Helio P10/MT6755采 ...

  4. “音”你而来,“视”而可见 腾讯云+社区音视频技术开发实战沙龙圆满结束...

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云技术沙龙团队发布于腾讯云云+社区 近年来,得益于移动互联网的普及和智能终端设备的广泛应用,短视频.直播.在线教学等音视频通信模式 ...

  5. “音”你而来,“视”而可见 腾讯云+社区音视频技术开发实战沙龙圆满结束... 1

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云技术沙龙团队发布于腾讯云云+社区 近年来,得益于移动互联网的普及和智能终端设备的广泛应用,短视频.直播.在线教学等音视频通信模式 ...

  6. ASP.NET MVC5微信公众平台整合开发实战教程

    <ASP.NET MVC5&微信公众平台整合开发实战(响应式布局.JQuery Mobile,Windows Azure.微信核心开发)> 课程讲师:57Code 课程分类:ASP ...

  7. 微信公众平台应用开发实战

    微信公众平台应用开发实战 微信营销 ISBN 9787111438618 作者 钟志勇 含税价 59.0元 税后 51.3元 增值税 7.7元 卓越价 40.7元(满49元免运费) 有货 出版社 机械 ...

  8. 《微信公众平台应用开发实战(第2版)》一1.1 微信公众账号的注册

    本节书摘来华章计算机<微信公众平台应用开发实战(第2版)>一书中的第1章 ,第1.1节,钟志勇 何威俊 冯煜博 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  9. html5网页分享到朋友圈,微信公众平台网页开发实战--1.微信分享一个网页到朋友圈...

    对微信的JSSDK进行封装一下,创建一份类似的文件结构,增加index.html与shareApi.js文件,结构如图3.3所示. 图3.3  3.2节文件结构 另外,提醒读者一下,wxJSSDK.j ...

最新文章

  1. EOSIO 指南(创建测试帐户)
  2. 2年内落地34款车型,路测里程可绕地球50圈,这家自动驾驶公司正在“玩命求生”...
  3. 关于linux内核模块的装载过程
  4. thinkphp require php 5.3.0 !,给thinkphp3.2用上composer
  5. markDown 语法(个人练习篇)
  6. OpenCV图像处理(Python)学习笔记
  7. uniapptabbar的高度是多少_【报Bug】uniapp页面底部空出了tabBar的高度
  8. C++工作笔记-作用域( :: )的另一种玩法
  9. 三种方法实现弹出框边框半透明和圆角的效果
  10. vissim跟驰模型_MATLAB——基于元胞自动机的单向3车道模型
  11. 使用nginx+lua脚本读写redis缓存
  12. clone oracle ebs
  13. print (re.findall((?:abc)+,abcabcabc))
  14. vue 鼠标点击事件_点击鼠标,利用VBA代码实现精准控制触发事件的第二方案
  15. View#post与Handler#post的区别,以及导致的内存泄漏分析
  16. ADS创建自己的Project模板
  17. 超简单!一部手机就能提取视频中的语音转换成文字
  18. 数字舵机和模拟舵机的区别
  19. 特殊ip地址汇总!!!
  20. thrift+springBoot

热门文章

  1. 我奋斗了18年才能和你坐在一起喝咖啡
  2. 10.710.8 基于HyperOpt实现TPE优化基于Optuna实现多种优化
  3. css动画让箭头上下跳动
  4. Python下载和安装
  5. 工程项目建设数字化管理解决方案
  6. 数字图像处理领域的二十四个典型算法
  7. 营收毛利净利均双位数增长,亚信科技掌握了什么秘诀?
  8. C++的emplace_back函数介绍
  9. ​FPGA便捷开发-TCL商店(开源)
  10. Tomcat部署服务成功,前端页面乱码问题处理