允许用户独立维护在线交流文化的Web服务

在以前的帖子中,提出了一种主持Internet讨论的新方法,该方法不需要指定的主持人或集体投票,并且允许来自不同站点的用户组织为一种主持人社区。这种方法将允许用户自己控制在线交流文化,从而减轻网站所有者进行评论的负担。



向哈勃(Habr)的读者提供了一个简短评论磁带测试示例,在其中可以尝试这种方法。

感谢所有参与测试的人!最初的统计数据已经使我们可以说,读者可以放心地进行审核。现在该继续前进了。在本文中,我想讨论实现此方法的最简单的Web服务设备。不幸的是,执行此类任务的经验还不够,因此,需要哈伯族社区的建议。

Web服务当前有哪些要求?

  • 轻松将新站点连接到Web服务。
  • 审核API的简单基本功能。
  • 在初始阶段,它必须承受至少40-50个
    同时主持用户的负载
  • 从长远来看,应该不难扩展。

考虑到这些要求,图中显示的Web服务图仍然隐约可见。



为了将您的站点连接到Web服务,站点所有者将需要:

  • 在您的js网站上安装脚本,该脚本封装了用于使用API​​的功能。
  • 向注释输入字段添加中度属性,脚本将重点关注该字段之后,当您单击注释字段时,将出现一个审核对话框。
  • 中性属性添加到feed中的每个注释,脚本将重点关注该属性之后,每个评论旁边会出现一个按钮,弹出该对话框。

在工作过程中,脚本将使用审核API的以下功能(当然,还有更多功能应确保社区的功能,但现在我们仅考虑基本功能):

  • GetAccessToken,IN:api_key。
    请求当前检查的临时令牌。在服务器端进行加密的此令牌中,存储了服务器所需的所有数据,从而允许服务器识别当前扫描并将一个扫描与另一个扫描区分开。令牌的寿命有限。网站所有者必须在Web服务上注册一个唯一的api_key,该API包含在令牌中。
  • GetChecks, IN: token. OUT:comments_list_for_check,last_comment_check_results
    . , , .
  • SetCheck, IN: token, comments_list_with_result, comment_for_check OUT: true/false
    . , ( ) true comment_for_check .

Apache mod_php 当前计划作为Web服务器。优点:它工作迅速,需要最少的配置知识。不利的是:脚本是从单个apache用户执行的。

Web服务API函数计划在php中执行。优点:开发速度快,跨平台,可接受的性能。缺点:安全性(但是,计划使用版本7,漏洞较少)

我们将使用Sphinx作为基础。优点:与关系数据库相比,安装简便,搜索速度快并且易于扩展。缺点:缺少联接查询,但这可以通过数据库的正确结构来解决。

到目前为止,似乎所有这些工作都可以在一台普通的VPS上运行,从而确保40-50个同时审核用户的工作。如果负载增加,则在VPS中将不难添加资源(内存,处理器,磁盘容量),并且如果DB Sphinx上的负载增加,则将不难部署Sphinx的另一个实例。

问题:

此实施中的“陷阱”是什么?您将使用什么技术来实现这种Web服务的最简单版本?

谢谢您的关注!


All Articles