写点什么

微服务架构中使用的分布式调度器

  • 2017-08-22
  • 本文字数:1189 字

    阅读完需:约 4 分钟

在 MicroXchg 2017 柏林大会上,DigitalOcean 的微服务可扩展性专家 Martin Campbell 针对如何使用分布式调度器运行基于微服务的架构做了一个演讲。在演讲中,Campbell 着重介绍了在他们在部署过程中遇上的一些问题,以及在他们是如何权衡选用 Kubernetes、Nomad 和 Mesos 等产品的。

演讲的关键要点包括:

  • 分布式调度器使得用户可将集群理解为单一的物理机。
  • 分布式调度器简化了 DevOps,大大降低了普遍存在于基于微服务架构中的操作复杂性。
  • 没有任何现有产品可以完美地运行有状态服务,因此最好不要使用现有产品去运行这类服务。
  • 在网络分区的情况下,即便有些过程所在的主机节点不能与主服务器通信,容错的分布式调度器也应该保持所有进程的运行。

Campbell 首先指出,操作系统内核就是一种集中式调度器,因为它在单一计算机上实现了对多个进程的管理。他进而阐述了分布式调度在概念上与集中式调度器是类似的,差别在于它是跨集群中各机器工作的,而非工作于单一机器上。“我们可以与整个数据中心通信,就像是面对单台物理机一样。”

分布式调度器尤其适用于微服务架构。Cambell 认为这是考虑到那些额外的操作开销,这些操作开销是由不断得以扩展和部署的多个服务所导致的。

对于如何选择多种分布式调度器的问题,Campbell 首先介绍了他在 Mesos 上的实战经验。当使用 Mesos 时,用户不需操心进程所在的实际物理机,因为 Mesos 是基于对 CPU 和 RAM 等资源的限额处理做部署的。Mesos 还提供了一个仪表盘,可像查看单一物理机那样方便地实现数据中心的可视化。

Campbell 指出,Mesos 的主要问题在于它对网络分区的处理方式。如果一个进程不能与 Mesos 的主服务器通信,那么该进程就会被杀掉。在 Campbell 看来,这并非是一种好的设计方式,事实上,因为网络分区普遍存在于分布式系统中,在这种情况下应该继续保持应用的运行。他以 Kafka 为例说明了这种行为会导致数据的丢失。虽然 Kafka 是一种分布式消息总线,在设计上考虑了弹性问题,但是分区还是可以导致丢失几乎全部的单一节点及数据。

Campbell 最终弃用了 Mesos,他先是转向 Nomad 作为替代。Nomad 的优点在于,它具有自身的 Gossip 协议,允许服务器在同一数据中心中及跨数据中心间的相互通信。在网络分区的情况下,同一分区中的服务会保持功能及通信,并在分区识别时成为最终一致的。但是由于 Campbell 并不了解有任何在生产环境中运行 Nomad 的应用,因而不想冒险迁移到 Nomad 上。

他最终选定了 Kubernetes。尽管 Kubernetes 类似于 Mesos,Campbell 还是从中发现一些独到之处。最主要是,Kubernetes 对网络分区处理机制不同,并不会在上述情况下杀死实例。它也提供了仪表盘,让用户易于了解集群的状态,减少了处理应用中的抽象层级。

该演讲的视频可以在线完整观看,其中详细地介绍了Campbell 正在处理的应用架构及各种调度器。

查看英文原文: Distributed Schedulers with Microservice Architectures

2017-08-22 19:003046
用户头像

发布了 227 篇内容, 共 81.9 次阅读, 收获喜欢 28 次。

关注

评论

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

ETLCloud详解,如何实现最佳实践及问题排查

RestCloud

ETL 数据集成

自动化的10项准备工作

FunTester

阿里云 ACK One 新特性:多集群网关,帮您快速构建同城容灾系统

阿里巴巴云原生

阿里云 容器 云原生

祝贺!我的同事丁宇获“2023 年度云原生产业领军人物”荣誉称号

阿里巴巴云原生

阿里云 云原生

试用活动 300上车 年中大促

开源物联卡管理平台-设备管理

物联网 IoT eSIM安全 java 技术提升

SD-WAN满足企业不断增长的网络需求

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

RocketMQ 中冷热分离的随机索引模块详解

阿里巴巴云原生

阿里云 RocketMQ 云原生

阿里巴巴按关键字搜索商品API(alibaba.item_search):如何保证阿里巴巴按关键字搜索商品API返回的商品信息的准确性

技术冰糖葫芦

API 编排

JNPF低代码开发平台总体架构介绍

互联网工科生

软件开发 低代码 JNPF

华为发布2024数据中心能源十大趋势

财见

如何搭建企业级知识图谱系统

悦数图数据库

图数据库

海外云手机的三大实用性

Ogcloud

云手机 海外云手机

云边协同的 RTC 如何助力即构全球实时互动业务实践

阿里巴巴云原生

阿里云 云原生

国内大模型打假胜诉第一案;苹果取代三星成为 2023 年智能手机销售冠军丨 RTE 开发者日报 Vol.128

声网

独立站运营应该知道的十佳 WordPress SEO 插件

九凌网络

聚道云连接器实现泛微OA与金蝶EAS对接,企业实现数字化转型

聚道云软件连接器

案例分享

阿里云云原生专场精彩内容集锦丨2023 云原生产业大会

阿里巴巴云原生

阿里云 云原生

阿里巴巴按关键字搜索商品 API (alibaba.item_search)在电商中的需求

技术冰糖葫芦

API

首个云原生、分布式、全栈国产化银行核心业务系统投产上线 XSKY 助力构建存储基础设施

XSKY星辰天合

游戏字体渲染

游戏开发 计算机图形学 渲染 字体

Python程序员常用的IDE和其它开发工具

不在线第一只蜗牛

Python ide 编程语言 开发语言

部署SD-WAN需要哪些设备和软件?

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商 异地组网

无需改动代码:将传统应用平滑迁移到云端

北京好雨科技有限公司

Kubernetes 容器 #云原生

2024年要想做好谷歌SEO,你需要了解这些新趋势!

九凌网络

Pixels:重新定义游戏体验的区块链农场游戏

Footprint Analytics

区块链游戏 链游 Pixels

微服务架构中使用的分布式调度器_DevOps & 平台工程_Andrew Morgan_InfoQ精选文章