HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

Singularity:基于 Apache Mesos 构建的服务部署和作业调度平台

  • 2014-08-31
  • 本文字数:1149 字

    阅读完需:约 4 分钟

Singularity 是一个在云基础设施中部署和运行服务和计划作业的平台,同时也是 HubSpot PaaS 的核心组件。它能够高效地管理底层进程的生命周期,并有效地利用集群资源。它可以作为持续部署基础设施的基本组成部分,而且是微服务部署的理想选择。它不仅能够管理数以百计的服务器上运行着的数以千计的进程,而且还提供了如下开箱即用的特性:

  • 丰富的 REST API,既有用于部署的,也有用于获取活动部署和历史部署信息的;
  • Web 应用客户端(Singularity UI)使用上述 API 向用户提供所有可获得信息的友好视图;
  • 部署失败时自动回滚;
  • 服务本身或者服务器故障时自动实现服务的故障转移;
  • 自动暂停反复失败的服务;
  • 进程和服务端点级别的健康检查;
  • 多实例服务的负载均衡;
  • 日志循环和归档;
  • 针对每个服务实例的资源限制和资源隔离,并能杀死超过限制的实例;
  • “机架(Rack)”/ 可用区域识别。

Apache Mesos 的术语中,使用 Mesos API 在集群中调度任务的 Mesos 应用程序称为框架。Singularity 就是一个 Apache Mesos 框架,它作为一个任务调度器运行在 Mesos 集群之上,如下图所示:

从中可以看出,Singularity 在一个框架中融合了长期运行任务的调度功能和批处理作业的调度功能,可以支持开发人员需要每天部署的许多常见进程类型,包括:

  • Web 服务:长期运行的进程;
  • 工作进程:长期运行的进程,类似 Web 服务,但不暴露 API,比如 Queue Consumer 就是一种常见的工作进程类型;
  • 计划作业:周期性运行的任务;
  • 按需执行的进程:需要手动执行的进程。

Mesos 框架有两个主要组件:调度器组件和执行器组件,前者注册到 Mesos 主进程用于分配资源,后者由 Mesos 从属进程在集群从节点上启动并运行框架任务。Mesos 主进程决定为每个框架分配多少资源,框架调度器选取提供的部分资源用于运行所需的任务。Mesos 从属进程并不直接运行任务,而是委派给合适的执行器来运行。Singularity 实现了这两个基本的框架组件,并且还提供了日志查看器、S3 上传器、执行器清理、OOM 进程清除、Singularity UI、Singularity Java Client 等组件。

此外,借助请求对象和部署对象,Singularity 在 Mesos 任务之上提供了一个面向部署的层。其中,请求对象定义一个可部署项,而部署对象定义一个可部署项的执行参数。要想了解所有 Singularity 端点及相应请求和响应对象的完整描述,请查看 Singularity API 参考

最后,对 Singularity 感兴趣的读者可以查看针对测试开发的本地安装文档以及 Singularity 部署示例,以了解更多的细节。还有一点不得不提一下,就是 Singularity 的路线上图上有支持 Docker 容器部署一项。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-31 13:472813
用户头像

发布了 256 篇内容, 共 85.6 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

三分钟完成静态网站托管

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 4 月 PK 榜 静态网站托管

为什么众多大型国企都在升级企业数智化底座?

用友BIP

技术大会 用友iuap 用友技术大会 升级企业数智化底座 央国企数智化转型

MobTech MobPush|不同手机厂商推送问题

MobTech袤博科技

MegEngine 使用小技巧:使用 Optimizer 优化参数

MegEngineBot

神经网络 深度学习 开源框架 MegEngine 参数优化

宇信科技加入正式openGauss社区

openGauss

LED显示屏室内改为户外为何不可取?

Dylan

LED显示屏 户外LED显示屏 户内led显示屏

AI+算力,赋予天翼云数字人“最强大脑”!

天翼云开发者社区

golang-GMP模型

轻松比较文件和文件夹:Beyond Compare 4 Mac中文

真大的脸盆

Mac Mac 软件 对比工具 比较文件 对比软件

北京 Meetup 邀你来|云上 StarRocks 极速湖仓

阿里云大数据AI技术

大数据

Java:如何加密或解密PDF文档?

在下毛毛雨

Java 加密 PDF java解密 解密

惠普聚焦资源再利用、森林保护和碳排放,理念贯穿电脑全生命周期

叶落便知秋

天翼云赋能芦山县医共体建设,为群众铺就便捷顺畅就医路

天翼云开发者社区

全栈混合云综合架构方案研究和落地

天翼云开发者社区

全国计算机等级二级考试新科目—openGauss数据库程序设计

openGauss

手把手教你集成ChatGPT到公众号

派大星

ChatGPT

“天翼云出海友好客户启航会”圆满收官!

天翼云开发者社区

海量数据×桂林银行 | 满足金融用户稳健周密需求,做好国内数据库演进的实践担当

openGauss

亚信科技AntDB数据库荣膺第十二届数据技术嘉年华(DTC 2023)“最具潜力数据库”大奖

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

【致地图开发者】地图开放平台假期服务公告

百度开发者中心

百度地图

升级数智化底座是企业数智化转型的必经之路

用友BIP

技术大会 用友iuap 用友技术大会 升级企业数智化底座

字节跳动的开源历程与价值思考

字节跳动开源

开源 云原生 演讲 字节

【转载】“一中心四辅助” | 亚信安慧产品与解决方案全栈图谱发布

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

服务器通用背板管理(UBM)实现

天翼云开发者社区

[ChatGPT 勘误] 关于 CL_WB_PGEDITOR 的用途

汪子熙

编程 abap Netweaver 思爱普 三周年连更

前端开发会被AI替代吗? | 社区征文

--linshuai

三周年征文

PaddleSeg 2.8版本正式发布啦!

飞桨PaddlePaddle

飞桨

数字先锋| “智慧旅游”新模式,天翼云助力张家界旅游产业创新发展!

天翼云开发者社区

高性能网络SIG月度动态:virtio-net 支持动态中断调节,SMC v2 协议增加新扩展

OpenAnolis小助手

ebpf 高性能网络 龙蜥社区 sig 月度动态

成功实践丨基于昇腾,安擎助力深圳某法院司法提效

科技热闻

跨平台应用开发进阶(四十一)使用Xcode打包 iOS 应用 archive 时四种证书的区别详解

No Silver Bullet

uni-app 跨平台 三周年连更

Singularity:基于Apache Mesos构建的服务部署和作业调度平台_开源_马德奎_InfoQ精选文章