大家好
我有一个PHP网站,应该使用一些缓存的数据(例如,存储在Memcache中)。数据应该通过从web服务获取数据的守护进程存储在缓存中,其中一些数据也应该存储在MySQL服务器中。
守护进程应执行以下操作:
我能够用C/C++/Perl/PHP/Python编写这些守护进程。
为了实现这些守护进程,我必须决定在哪种语言/脚本中选择。为此使用PHP的优点是,我可以使用网站应用程序本身使用的API。另一个优点是PHP很容易,而且每个人都知道,所以我不会被束缚在维护这些守护进程上,但另一方面,PHP速度更慢,消耗更多的资源。
使用PHP以外的其他语言的主要缺点是很难维护用C/C++/Perl编写的代码。现在,我想使用C/C++/Perl来执行这类任务并不常见。我说错了吗?
在这种情况下,你建议我怎么做?
发布于 2011-01-09 03:27:15
Perl和Python是编写此类脚本的默认答案。但是,如果您编写了好的代码,那么您使用的语言并不重要。更重要的是,如何在失败时处理脚本。
从长远来看,您可能会发现您的脚本由于任意的原因很少失败,并且您可能不值得调试脚本,因为它通常会完成一项公平的工作,并且很难找到它出错的地方。
我几乎没有perl脚本做与您正在做的事情相同的事情。对我来说,棘手的部分是确保我的脚本不会在很长时间内失败,因为我不想错过大量的实时流数据。
为此,我使用了莫尼特。一个很棒的工具。
发布于 2011-01-08 20:59:34
为了简化/代码重用,最好的选择可能是PHP。
编辑
据我所知,它只是在传递数据,没有什么可担心的性能。关于资源的使用,只需确保不耗尽max_memory (可能是通过流,也可能是通过配置大量资源)。中止和记录需要太长时间的操作。当SQL操作失败时,重新连接到循环中的数据库。
注意警告
Daemon编程很棘手,很多事情都可能出错。考虑到所有的失败点。
另外,请注意,Perl在守护进程方面比PHP更精通。我忽略了c/c++,因为性能(传递数据)不是一个问题,守护进程编程也够困难的,为什么还要对内存泄漏、分段错误等增加担忧呢?
发布于 2011-01-09 04:02:52
最好的做法是使用任何你知道的最好的技术。你将:
实际上,除非您有实际的性能要求,否则速度和资源使用将相对不重要。
https://stackoverflow.com/questions/4636039
复制相似问题