我将设计一个开源网络服务,它应该从多个(目前是三个)网站收集(“网络抓取”)一些数据。
这些网站不公开任何网络服务或任何 API,它们只是发布网页。
数据将根据来自所有网站的任何客户端的请求“实时”收集,然后将其解析为 XML 以返回给客户端。
服务器操作系统将是 Linux。
客户端最初只是我的一个 Android 应用程序。
如果项目成功的话,并发客户可能会达到 100 个或更多... ;-)。
目前我的偏好是采用:
- perl(用于服务语言)
- 带有ModPerl::Registry的mod_perl2(用于 Apache 嵌入式快速 perl 解释器)
- perl 模块CHI::Driver::FastMmap(用于现代快速缓存处理程序)
- perl 模块Coro(用于异步事件循环以并行放置许多请求)
由于我认为该项目的规范可能具有一般用途和兴趣,并且由于 Coro与mod_perl2 的组合使用我遇到了很多问题,所以我问:
我的收养偏好是否匹配?
您是否发现任何不兼容或潜在问题?
您有什么建议可以增强(按此顺序):
- 组件之间的兼容性
- 实施的整洁度
- 易于维护
- 表演