【原创】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入门', '查询语句']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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

本文原文csdn博文链接:http://blog.csdn.net/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值