写点什么

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:473242
用户头像

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

关注

评论

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

工业管理 项目管理经验总结(6)

万里无云万里天

项目管理 工业 工厂运维

2025 中小企业 RPA 落地省钱省力全攻略

Techinsight

埃文科技亮相2025中部数字经济产业发展大会暨数智创新博览会

郑州埃文科技

IP地址是如何被盗用的?

郑州埃文科技

Git合并选Rebase还是Merge?弄懂这3点,从此不再纠结

左诗右码

校园网IP地址要如何管理

郑州埃文科技

2024年全球IPv4地址转让与分配是如何进行的?

郑州埃文科技

主网上线后生态极速扩张的 Berachain 生态,有哪些值得关注的项目?

股市老人

Java诞生30周年:持续演进的技术生态与AI新方向

qife122

Java AI开发

Go/C++ 指针比较

俞凡

c++ golang

无IT能玩转自动化吗?中小企业RPA落地省钱省力全攻略

Techinsight

IP地址是如何被盗用的?

郑州埃文科技

配电 低压电工经验总结(14)

万里无云万里天

工业 工厂运维

埃文科技荣获2025年“数据要素×”大赛河南分赛二等奖

郑州埃文科技

小型办公网络的动态IP是如何分配的

郑州埃文科技

加州隐私保护局通过CCPA新规并开放DROP规则公众评议

qife122

CCPA 网络安全法规

RPA规模化崩盘?90%企业踩过的5大选型坑!

Techinsight

从试点到千级流程:RPA 选型必看的 5 大架构与信创避坑点!

Techinsight

还在为月初月末崩溃?新一代财务自动化软件盘点

Techinsight

MIAOYUN | 每周AI新鲜事儿(08.22-08.29)

MIAOYUN

人工智能 AI 资讯 大模型 AI 图像生成

大数据-84 Spark RDD创建全攻略:从集合、文件到转换操作详解

武子康

Java 大数据 flink spark 分布式

如何真正防止IP地址欺骗?

郑州埃文科技

集中运营、分散决策,寻找最佳财务规划的平衡点

智达方通

企业管理 财务管理 财务规划

埃文科技荣获第十四届中国创新创业大赛河南赛区成长组一等奖

郑州埃文科技

什么是 WAF?为什么建站离不开它?

Yops-运维易

Linux 运维 安全 网站 服务器

华为云云原生团队 2026 届校招正式启动

华为云原生团队

云计算 容器 云原生

让集成更安心,让连接更高效:鸿蒙生态伙伴SDK优选库双端赋能

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

埃文科技成功助力中原环保首单数据资产交易落地

郑州埃文科技

Kyligence 再次入选 Gartner 中国数据、分析和人工智能技术成熟度曲线报告

Kyligence

CVE-2019-13382:SnagIt本地权限提升漏洞分析与利用

qife122

漏洞挖掘 符号链接

可信ID的核心技术:弱特征归因与设备唯一性保障

郑州埃文科技

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