【原创】swarm源码分析(4)---Scheduler和Api

本文详细分析了Docker Swarm中的Scheduler和API实现,包括Scheduler的CreateContainer和RemoveContainer接口,以及strategy(binpacking和random)和filter(affinity, health, constraint, port, dependency)的实现。此外,还介绍了API的初始化、router和proxyContainer的处理流程。文章展示了Swarm模块化和插件化的设计思想,便于理解和维护。" 112584738,10540440,SQL查询教程:从基础到模糊查询,"['SQL查询', '数据库基础', '数据操作', 'SQL入门', '查询语句']

 

本文原文QQ空间链接:http://user.qzone.qq.com/29185807/blog/1463015882

本文原文csdn博文链接:http://blog.youkuaiyun.com/screscent/article/details/51381242

前面分析了discovery,cluster,node。那这一篇就分析scheduler和api。

 

1、Scheduler

 

我们先回顾下Scheduler在manage中如何构建的

源码在swarm\manage.go

先构建了strategy和filter。

然后构建了Scheduler。

 

下面看看Scheduler的源码

源码在swarm\scheduler\scheduler.go

结构体很简单,就3个主要成员

 

下面先简单的看看Scheduler提供的接口

CreateContainer

先选择node,然后调用cluster中的部署

 

选择有两个部分,一个是filter,一个是strategy

RemoveContainer

直接通过cluster来进行删除

 

小结

Scheduler的表面功能还是很简单的。其最主要的还是于如何选择node。

 

2、strategy

说到选择node,那我们就来看看strategy

源码在swarm\scheduler\strategy\strategy.go

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值