Para preparar notificações assíncronas do PostgreSQL para o websocket, precisamos do próprio
nginx e de seus plugins
postgres ,
push-stream ,
set-misc . (Forneci links para meus garfos, porque fiz algumas alterações que até agora não puderam ser enviadas para os repositórios originais. Você também pode usar a imagem
pronta .)
Para conectar clientes ao nginx via websocket, crie
location =/websocket { push_stream_subscriber websocket;
Ao conectar um cliente ao websocket, começamos a ouvir notificações assíncronas no PostgreSQL
location =/subscribe { internal; postgres_pass ngx;
Ao desconectar um cliente do websocket, paramos de ouvir notificações assíncronas no PostgreSQL
location =/unsubscribe { internal; postgres_pass ngx;
Quando um cliente publica no websocket, fazemos algo
location =/publish { internal; postgres_pass ngx;
Além disso, você pode simplesmente enviar algo para o cliente no websocket
location =/publisher { allow 127.0.0.1/16;