UDN-企业互联网技术人气社区

板块导航

浏览  : 1487
回复  : 0

[其它] 唯品会弹性调度任务系统产品理念与设计实践

[复制链接]
狗尾巴草的头像 楼主
本帖最后由 狗尾巴草 于 2016-11-3 21:30 编辑

  本文为参加的中生代技术广州场的演讲稿
 
640.webp.jpg
 
  首先自我介绍下,我是邱戈川(一般文章署名了哥),来自唯品会平台架构部,是基础平台的技术产品经理。
  
640.webp (1).jpg

  今天讲的内容是关于唯品会的自己研发的弹性调度系统产品,近期将开源出来与大家见面
  
640.webp (2).jpg

640.webp (3).jpg

640.webp (4).jpg



640.webp (5).jpg



  我们打造这个产品的最大初衷是代替现有的php的crontab中的作业,但是现在延伸到了本地作业和消息驱动作业
 
640.webp (6).jpg


640.webp (7).jpg


640.webp (8).jpg


640.webp (9).jpg


640.webp (10).jpg


640.webp (11).jpg


640.webp (12).jpg

640.webp (13).jpg


640.webp (14).jpg



640.webp (15).jpg



640.webp (16).jpg



  本地作业模式是我们比较有创新的地方,好处是只要做一次的作业配置,后续无论上线多少台机器都会自动运行这些作业,做到自动维护。举个例子,如每台机器都要做些半夜的清理工作如删除日志文件等

640.webp (17).jpg
  
  自动负载平衡是目前业界的产品中都看不到的,包括现在阿里云和腾讯云提供的产品。最大的好处是自动将不同负荷的作业分布到不同的机器运行,尽可能做到不同的机器负载均等。
 
640.webp (18).jpg

 
  这是我们的基本算法,目前已经做过专利保护申请。不过不影响后续开源使用。

640.webp (19).jpg

  
640.webp (20).jpg


640.webp (21).jpg



640.webp (22).jpg



640.webp (23).jpg



640.webp (24).jpg



  容器化的方案中,最大的考虑点是使用常驻类型还是即时销毁类型。目前我们的选择是常住类型,这样的好处是确保作业都有资源运行,从而确保业务不会因为资源争抢问题出错。但是资源的复用可以通过不同的容器实例数动态伸缩达到。

 
640.webp (25).jpg
 

  利用DC/OS(Marathon+Mesos)的方案构件容器话方案,好处是简单,通过集成Marathon的接口就可以实现,无需改动太多原有的非容器方案
 
640.webp (26).jpg


640.webp (27).jpg


  容器的引入,对于运维流程是个挑战,毕竟工作管理模式都发生了变化

640.webp (28).jpg
  

  架构上比较干净,唯一需要考虑的是如何设计容器的网络方案。从定时作业的角度看,作业只需要连接出去,而无需被外部访问,所以Docker原生的NAT方式就够了

 
640.webp (29).jpg

 
  我们的经典例子供大家参考。
 
640.webp (30).jpg

640.webp (31).jpg




相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部