Service Web qui permet aux utilisateurs de maintenir indépendamment une culture de communication en ligne

Dans les articles précédents , une nouvelle approche de la modération des discussions sur Internet a été proposée, qui ne nécessite pas de modérateur désigné ou de vote collectif et permet aux utilisateurs de différents sites de s'organiser en une sorte de communauté de modérateurs. Cette approche permettra aux utilisateurs de contrôler eux-mêmes la culture de la communication en ligne, ce qui réduira la charge des propriétaires de sites Web à modérer les commentaires.



Les lecteurs de Habr se sont vu offrir un petit exemple d'essai d'une bande de commentaires dans laquelle il était possible d'essayer cette approche en action.

Merci à tous ceux qui ont participé aux tests! Déjà les premières statistiques nous permettent d'affirmer que les lecteurs effectuent en toute confiance la modération. Il est maintenant temps de passer à autre chose. Dans cet article, je souhaite discuter du périphérique le plus simple possible pour un service Web qui implémente cette approche. Malheureusement, l'expérience pour la mise en œuvre d'une telle tâche n'est pas suffisante, par conséquent, les conseils de la communauté Habr sont nécessaires.

Quelles sont les exigences actuelles pour le service Web?

  • Connexion facile de nouveaux sites au service Web.
  • fonctions de base simples de l'API de modération.
  • au stade initial, il doit supporter une charge d'au moins 40 à 50
    utilisateurs modérateurs simultanés.
  • à long terme, cela ne devrait pas être difficile à mettre à l'échelle.

Compte tenu de ces exigences, le diagramme de service Web présenté dans la figure est toujours imminent.



Afin de connecter votre site au service Web, le propriétaire du site aura besoin:

  • installez un script sur votre site Web js qui encapsule les fonctions pour travailler avec l'API.
  • Ajoutez un attribut modéré au champ de saisie de commentaire , sur lequel le script se concentrera. Après cela, lorsque vous cliquez sur le champ de commentaire, une boîte de dialogue de modération apparaît.
  • Ajoutez l'attribut modéré à chaque commentaire du flux , sur lequel le script se concentrera. Après cela, un bouton apparaîtra à côté de chaque commentaire qui fait apparaître la boîte de dialogue de modération.

Dans le processus de son travail, le script utilisera les fonctions suivantes de l'API de modération (bien sûr, il y aura plus de fonctions qui devraient assurer le fonctionnement de la Communauté, mais maintenant nous ne considérons que les fonctions de base):

  • GetAccessToken , IN: api_key.
    Demandez un jeton temporaire pour la vérification en cours. Dans ce jeton, chiffré côté serveur, toutes les données nécessaires au serveur sont stockées, permettant au serveur d'identifier l'analyse en cours et de distinguer une analyse d'une autre. Le jeton a une durée de vie limitée. Le propriétaire du site doit enregistrer une clé api_ unique sur le service Web, qui est incluse dans le jeton.
  • 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 est actuellement prévu comme serveur Web . Avantages: cela fonctionne rapidement, nécessite un minimum de connaissances en configuration. Comme moins: les scripts sont exécutés à partir d'un seul utilisateur apache.

Les fonctions de l'API du service Web devraient être exécutées en php . Avantages: vitesse de développement, multiplateforme, performances acceptables. Inconvénients: sécurité (cependant, il est prévu d'utiliser la version 7, où il y a moins de trous)

Nous utiliserons Sphinx comme base . Avantages: installation facile, vitesse de recherche et facilité de mise à l'échelle par rapport à la base de données relationnelle. Moins: le manque de requêtes de jointure, mais cela est résolu par la structure correcte de la base de données.

Jusqu'à présent, il semble qu'au départ, tout cela puisse être exécuté sur un VPS ordinaire et ainsi assurer le travail de 40 à 50 utilisateurs modérateurs en même temps. Si la charge augmente, alors dans VPS, il ne sera pas difficile d'ajouter des ressources (mémoire, processeur, capacité du disque), et si la charge sur DB Sphinx augmente, il ne sera pas difficile de déployer une autre instance de Sphinx.

Questions:

Quels peuvent être les "pièges" de cette mise en œuvre? Et quelles technologies utiliseriez-vous pour implémenter la version la plus simple d'un tel service Web?

Merci pour l'attention !


All Articles