2016-05-22 14 views
5

Sto cercando una semplice implementazione per trasferire i cambiamenti da un database relazionale gratuito (PostgreSQL, MySQL, SQLite, ecc.) Ai browser dei clienti tramite WebSocket o WebPush.
Desidero evitare tutto l'ecosistema JavaScript lato server (Node.js, npm & cie) e i database NoSQL.
Tutti devono essere ospitati nei server della mia azienda, non posso utilizzare servizi di terze parti.WebSocket con RDMBS gratuito (PostgreSQL, SQLite, ecc.) E senza ecosistema JavaScript

Ho trovato queste soluzioni interessanti:

Sai altro modi per farlo?
PostgreSQL è l'RDBMS gratuito più adatto per farlo?
Può essere realizzato con un database SQLite?
Le capacità di Apache o NGinx possono essere utilizzate per raggiungere questo obiettivo?

+0

Ho aggiornato la mia risposta; Ho realizzato un progetto chiamato postgrest2websocket che potrebbe essere interessante per te. –

risposta

2

Aggiornamento 01/23/17: Ho scritto un'applicazione chiamata postgresql2websocket al fine di inviare notifiche di PostgreSQL su WebSockets utilizzando Python 3 con asyncio + aiohttp + asyncpg https://github.com/frafra/postgresql2websocket; potresti combinarlo con PostgREST per avere sia API REST standard che aggiornamenti in tempo reale usando WebSockets.

Per quanto ne so, non esiste un'estensione del server HTTP per l'utilizzo di database SQL con Websockets senza nulla nel mezzo.

È possibile utilizzare Python sul lato server, in questo modo: Real Time Web Apps with (just) Python and Postgres. Penso che potrebbe essere migliorato grazie a aiopg. Se non hai bisogno di Websockets, puoi semplicemente usare ngx_postgres.

Se ti piace Django, Django Channels sarà probably included in Django 1.10 (livello Redis/in-memory/... per canali e backend SQL).

È possibile utilizzare SQLite, ma tenere presente che è necessario implementare un meccanismo di pubblicazione/sottoscrizione lato server separato (come fa il canale Django), perché SQLite non ne ha uno.

Se si è interessati solo a pub/sub su Websockets, è possibile utilizzare Webdis (soluzione basata su Redis): sarebbe probabilmente più leggero di un database SQL completo.