Projet

Général

Profil

Actions

Feature #12908

fermé

Utilisation des WebSockets dans le système de notification PUSH du serveur vers le navigateur WEB

Ajouté par Yohann Chastagnier il y a presque 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
Notifications
Début:
25/02/2022
Echéance:
% réalisé:

100%

Temps estimé:
Livraison en TEST:
Livraison en PROD:

Description

Cette feature vient compléter l'existante : #8622

Dans des contextes avec beaucoup de sessions utilisateurs ouvertes, l'envoi de notifications serveurs (Server Event) via l'API Server Sent Event (SSE) dégrade les performances d'utilisation de Silverpeas.
Il ne semble pas que cela soit le serveur WildFly qui bataille, mais plutôt les reverse proxy.
Même si l'API SSE est standarde et éprouvée, ces derniers n'apprécient pas le principe de laisser une requête HTTP ouverte sur une durée de plusieurs minutes.

L'idée est d'ajouter l'utilisation de la technologie des WebSockets dans le système actuel d'envoi de notification, tout en gardant la possibilité d'utiliser l'actuelle technique.
D'ailleurs, comme l'utilisation des WebSockets nécessite la mise en place de règles dans la configuration du reverse-proxy, elle devra probablement être désactivée par défaut.


Demandes liées 1 (0 ouverte1 fermée)

Lié à Silverpeas Core - Feature #8622: Mise en place d'un système de notification PUSH du serveur vers le navigateur WEBClosedYohann Chastagnier10/03/2017

Actions

Mis à jour par Yohann Chastagnier il y a presque 3 ans

  • Lié à Feature #8622: Mise en place d'un système de notification PUSH du serveur vers le navigateur WEB ajouté

Mis à jour par Yohann Chastagnier il y a presque 3 ans

  • Catégorie mis à Notifications
  • Statut changé de In progress... à Resolved
  • Assigné à mis à Yohann Chastagnier
  • Version cible mis à Version 6.3
  • % réalisé changé de 90 à 100

La possibilité d'utiliser les WebSockets pour envoyer des événements du serveur vers le navigateur WEB est désormais en place.

Dans un environnement de développement, cette technique se montre efficace.

Même si des essais de tests de charge ont été menés, ces derniers ne permettent pas de savoir comment cela se comportera dans un contexte de production avec beaucoup de sessions utilisateurs ouvertes en même temps.
Pour cette raison, l'utilisation des WebSockets n'est pas activée dans un premier temps.
Par défaut, c'est donc l'actuel mécanisme qui reste en place.

Pour activer l'utilisation des WebSockets il faut renseigner la valeur true au niveau du paramètre notification.sse.usingWebSocket du fichier de propriétés $SILVERPEAS_HOME/properties/org/silverpeas/notificationManager/settings/notificationManagerSettings.properties.

ATTENTION, en cas d'activation de cette nouvelle possibilité, le paramétrage du reverse-proxy doit être modifié afin de traiter les requêtes WebSockets sur Silverpeas.
Pour Apache, par exemple :

# Les ouvertures de session WebSocket dans Silverpeas passe par le path '/ws'
ProxyPass /silverpeas/ws ws://127.0.0.1:8000/silverpeas/ws

PR : https://github.com/Silverpeas/Silverpeas-Core/pull/1202

Mis à jour par Miguel Moquillon il y a presque 3 ans

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Miguel Moquillon il y a presque 3 ans

  • Statut changé de Integration in progress... à Closed
Actions

Formats disponibles : Atom PDF