本文原文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

本文详细分析了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入门', '查询语句']
最低0.47元/天 解锁文章
5361

被折叠的 条评论
为什么被折叠?



