经常用saltstack的人会发现,zeromq貌似不是那么靠谱,其实不能说0mq不靠谱,应该说salt的这样的集群的环境,导致zeromq 不能更好的融合于0mq的体系里面。 


      那么其实我个人,觉得zeromq确保可靠性质的方案,还是有的,但是需要我们自己做事件的监听和锁的使用。 我想用saltstack的人并不一定都会python,所以才直接干脆的换掉zeromq,用raet做通信及运行架构。 


标记下,原文链接是,xiaorui.cc

他们想实现什么,首先想在网络io方面做成异步,而不是单纯的用pubsub这样通信原理加逻辑异步,而是真正的网络io异步。  另一个方面是,尽量的排除multiprocessing的利用,而启用现在相当火的协成,也就是微线程。 


微线程使用协同工作的多任务处理来取代线程和/或进程,其避免了许多诸如资源竞争,上下文切换,和进程间通信的复杂性,同时提供了更高的性能。

由于所有协同工作的微线程均运行于一个进程,也就造成一个简单的微线程应用的资源调用被限制在一个CPU核心。为了使得所有的CPU核心均得到充分的利用,应用程序需要能够为每个CPU核心运行至少一个进程。这就需要同一台主机的进程间通信。但是不同于传统的多进程处理方式,即一个进程完成一个逻辑并发的功能,一个基于微线程的多进程程序不再使用一个微线程处理一个逻辑并发功能的模式,而微线程的总数是取决于总的进程的最小数目的限制,并且其不超过CPU的核心数量。这将优化CPU的处理能力,同时最大限度地减少进程上下文切换的开销。

另外,他们调用了UDP作为通信,在UDP里面夹杂了各种saltstack对他们的定义。主要就是为了让saltstack的通信更加的可靠性。  

那么对于安全方面,它采用了CurveCP的加密方案,听说 速度是很给力,也相对的安全。 


这两天抽个时间,看看Raet的代码实现流程,好让自己更了解saltstack。 











对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!

沈灿的新书 《Ansible自动化运维:技术与最佳实践》

    说说沈灿吧,在蓝汛、京东、百度…都转悠过,  擅长集群管理运维,水平挺好。 跟沈灿认识也有好几年了,一直说带我去大保健,...

阅读全文

saltstack event和websocket实时监控触发事件

前沿:         那么以前都是调取一个url的接口,把结果post过去,web服务器接收到请求,会给所有链接到websocket server的客户端s...

阅读全文

用Saltstack的returners实现监控及执行结果回调

这是以前在51cto写的文章,因为有了独立的博客,so 转了过来。没有saltstack基础的朋友,看下我以前的教程 saltstack 入门教程。。。。 那么大家在...

阅读全文