Pour préparer des notifications asynchrones de PostgreSQL vers websocket, nous avons besoin de
nginx lui-même et de ses plugins
postgres ,
push-stream ,
set-misc . (J'ai donné des liens vers mes fourches, car j'ai apporté des modifications qui n'ont pas encore été entassées dans les référentiels d'origine. Vous pouvez également utiliser l'
image prête à l'
emploi .)
Pour connecter des clients à nginx via websocket, créez
location =/websocket { push_stream_subscriber websocket;
Lors de la connexion d'un client à websocket, nous commençons à écouter les notifications asynchrones dans PostgreSQL
location =/subscribe { internal; postgres_pass ngx;
Lors de la déconnexion d'un client de websocket, nous arrêtons d'écouter les notifications asynchrones dans PostgreSQL
location =/unsubscribe { internal; postgres_pass ngx;
Lorsqu'un client publie sur websocket, nous faisons quelque chose
location =/publish { internal; postgres_pass ngx;
En outre, vous pouvez simplement envoyer quelque chose au client dans websocket
location =/publisher { allow 127.0.0.1/16;