问题:学习编写服务器应用程序的良好起点在哪里?
的信息:
我正在研究编写一个分布式计算系统,以收集在学院校园闲置的几百台计算机的闲置周期。有些系统已接近,但并不完全符合我需要的所有要求。 (最值得注意的是所有交易都必须通过SSH进行,因为网络会阻止其他所有事务)所以我决定编写自己的应用程序。部分是为了得到我想要的,但也为了体验。
重要功能:
我觉得那些尝试和完成的东西并不荒谬。但是最后一个我不确定从哪里开始。我实际上已经完成了前两个并编写了一个程序,它将登录到我的服务器,然后在本地打印ls -l到一个文件。所以这并不难。但是我如何连接几个客户端要求服务器模拟数据同时处理?显然感觉线程在这里发挥作用,但不止于此我确定。
这就是我的问题所在。哪个人甚至开始研究如何编写服务器应用程序?我甚至使用正确的措辞吗?哪些信息可以在互联网上免费获得和/或有哪些书籍?再一次,特别是python,但朝着正确的方向迈出的一步比我现在的更多。
P.S。这个看起来更适合stackoverflow而不是serverfault。如果我错了,请纠正我。
答案 0 :(得分:4)
查看以下有关SO
的讨论另请参阅
的精彩介绍答案 1 :(得分:1)
Twisted是一个事件循环框架,通常在Python中用于网络处理。
答案 2 :(得分:0)
这是一种方法。
在Python中编写“代理”。代理程序安装在各种计算机上。它可以在本地进行任何处理。它使用urllib2
来生成服务器的RESTful HTTP请求。它可以发布数据或请求工作或应该发生的任何事情。
在Python中编写“服务器”。服务器安装在一台计算机上。这是使用wsgiref
编写的,是一个简单的基于WSGI的服务器,可以处理分散在校园内的各个代理的请求。
虽然这需要安装代理,但它非常非常简单。它可以非常非常安全(使用HTTP摘要式身份验证)。代理的权限定义了漏洞的级别。如果代理程序在权限相对较少的帐户中运行,则非常安全。代理不应以root身份运行,并且不应允许代理的帐户su
或sudo
。