多租环境下的任务调度问题

多租环境下,同一个资源会被多个租户同时占用,不同租户对服务的请求彼此会相互竞争。在多租环境下,我们一般期望有以下的特性:

  • Resource Isolation:资源的有限隔离。
    • 不同特性租户彼此资源隔离,尽量减少对彼此之间的影响。
  • Fairness Schedule:公平调度:
    • 不同租户能够公平的分享资源,不能仅仅是不饿死;类似的需求的租户要有基本一致的用户体验。
  • Smooth latency:稳定平滑的延迟:
    • 单个租户看到的响应延迟尽可能稳定,不要出现突发的变化。 为了实现以上的需求,我们有多种手段:限流(Rate Limiting),隔离(isolation),调度(schedule),调权(priority),相互支撑来达到目标。

本文主要介绍如何使用一些多租环境下的调度算法达成目标:

Read More


分布式日志-从Bookkeeper开始

分布式日志是部分分布式系统实现中的基础设施。如果一个系统具备一个完备的分布式日志,辅以订阅等能力,那么这个系统就可以实现很多高级功能,比如分布式事务、分布式快照、分布式复制等。在许多系统中,如Kafka,Pulsar等消息队列实现分布式组件之间的同步。

但对于更基础的分布式实现中,直接使用MQ会引入额外的复杂度,因此我们需要一个更加基础的分布式日志。Bookkeeper通过一定的开发可以快速构建一个分布式日志,本文主要围绕Bookkeeper展开。

Read More



^