1 抽取其中用到的 Win32API, 分为通信类, 多线程类,时间字符串等函数类, 逐一封装成 Linux 的函数;
2 调试移植后的整个代码库, 并作必要的调整和修正;
3 需要 C++11/14 的经验;
4 需要 Windows 和 Linux 高性能多线程 C++服务器程序开发和调试的经验,
5 需要 boost 及 zeromq, 以及异步通信库, 异步日志库等方面的经验;
不过,既然接受了Python的简单易用和快速开发优势,作为tradeoff,就要学会接受和处理Python的一些缺点。用django作数据服务器两年多,确实会有一些性能问题。
1异步django的>
2缓存和队列用ZeroMQ、Memcached来做缓存和队列就解决了。
3影响性能的函数如果真的有CPU密集型的函数影响性能,可以编译成C来解决性能问题,一些矩阵 *** 作也可以通过numpy来解决
我为什么选择Saltstack,考虑方式很简单,主要基于如下两个方面:第一、语言的选择(puppet/chef vs ansible/saltstack)
开源技术,不看官网不足以熟练,不懂源码不足以精通
Puppet、Chef基于Ruby开发,ansible、saltstack基于Python开发的
本人热衷于python(后期可做二次开发),排除Puppet、Chef
第二、速度的选择 (ansible vs saltstack)
管理配置讲究的是更快更稳
ansible基于SSH协议传输数据,Saltstack使用消息队列zeroMQ传输数据
测试SSH和MQ传输速度:
例:分别使用两种工具测试1000台服务器的连通性,结果对比:
可以看出使用MQ通讯和SSH通讯,速度相差大约40倍
显然,从速度的角度,排除ansible,最终选择了Saltstack。
在
python系列的ansible、Saltstack的选择中,有人放弃Saltstack的主要原因是Saltstack需要安装客户端,在服务器有
一定数量的情况下比较麻烦,而ansible不需要安装客户端。我个人认为这个考虑是多余的,Saltstack中的Salt-ssh可以轻易解决这个问
题(后面会写篇使用salt-ssh批量部署客户端的博客),而且ansible也并非是不需要在“客户端”做任何 *** 作。例如,1“客户端”系统
python版本需要满足26+,否则需要进行升级;2ansible使用一些功能也需要“客户端”有对应模块(主要是python模块,即使
python版本满足26+,也需要额外安装)
一文梳理>
欢迎分享,转载请注明来源:内存溢出
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)