1、容器的网络隔离
Mesos 0.23 提供支持在容器部署前定义网络的监控和隔离规则。网络隔离避免了单个容器占用太多的端口、太多的带宽,以及造成其他用户数据包明显的延迟。
每个运行的容器的网络统计数据可以在 slave 上从 /monitor/statistics.json 文件中读取。网络隔离对运行在 slave 上的多数 tasks 都是透明的(那些绑定到 port 0 和让内核分配给它们对应的端口)。这个特性仅仅是在 Linux 上实现并且需要设置 configure-time flag(配置时间标志位)。请参阅:http://mesos.apache.org/documentation/latest/network-monitoring/
2、SSL
对通过 libevent 的任何 libprocess 通信提供 SSL 加密支持(目前还是实验性)。对 Mesos master 和它对应的 slaves 及 Frameworks 之间的流量进行加密,防止被窃听和伪造,对于提高信息安全至关重要。这个特性需要 configure-time flag 并且有一些性能的影响。请参阅:http://mesos.apache.org/documentation/latest/mesos-ssl
3、超售
尝试在可撤销的资源上启动 tasks/executors,而 Mesos 可以随时撤销任务。重要的任务可以利用这些临时资源来提升性能。
为了应对峰值负载以及一些无法预料的负载暴增,高优先级的 2C 服务会置备在大型集群上。因此,大多数时间,资源没有得到充分的利用。超售特性可以利用暂时没有使用的资源来执行一些后台运行的任务,比如后台分析、视频 /图像处理、芯片仿真,以及其他低优先级的工作,当资源被征用,这些任务可以被随时撤销。
超售特性增加了两个新的 slave 的模块:资源估算和服务质量(QoS)控制,同时对现有的资源进行分配、资源监视器和 mesos slave 进行了扩展。请参阅:http://mesos.apache.org/documentation/latest/oversubscription/
4、持久化卷
尝试支持 Frameworks 提供创建磁盘持久化卷服务,这使得有状态服务例如 HDFS 以及 Cassandra 可以通过 Mesos 存储相关数据,而不是像之前必须将数据存储在网络挂载的 EBS 卷或者将数据放置在其他位置使得磁盘资源不受管理。详情请参阅:http://mesos.apache.org/documentation/latest/persistent-volume/
5、动态保留
Framework 可以对特定的 salve 上的动态资源进行预留(实验性支持)。不需要操作者在 slave 启动的时候指定一个固定的、预先计算好的“静态”资源,现在 Framework 可以预留 slave 提供的资源而无需重启 salve。现有的动态预留机制重大改变,这意味着现有的静态预留机制继续全力支持。请参阅:http://mesos.apache.org/documentation/latest/reservation/
6、缓存抓取
Executor/task 的二进制文件读取器(fetcher)现在支持缓存机制(实验性)。现在可以指示读取器将通过 URI 下载的二进制文件缓存到一个专用的目录,这样后续的下载可以重用。如果对于URI的 “cache” 标志位是 true,缓存读取机制将会生效。如果 URI 是***次被下载(对于特定用户),则首先下载到高速缓存中,然后从那里复制到 sandbox 目录。如果相同的 URI 再次被遇到(对于同一个用户!),而且相应的缓存文件还在缓存中,则不会进行重复下载,此时读取器会直接从高速缓存进行拷贝。请参阅:http://mesos.apache.org/documentation/latest/fetcher/