如何把程序从windows平台移植到linux平台

如何把程序从windows平台移植到linux平台,第1张

需要用到的技术有:
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+,也需要额外安装)


一文梳理>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13455333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-10
下一篇 2023-08-10

发表评论

登录后才能评论

评论列表(0条)

保存