slact / nchan

Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE), powered by Nginx.
https://nchan.io/
Other
2.99k stars 292 forks source link

foundationDB backend? #500

Open cloudspeech opened 5 years ago

cloudspeech commented 5 years ago

Hi,

Apple opensourced FoundationDB earlier this year (https://www.foundationdb.org/).

Compared to Redis Cluster, it inspires much more confidence with true transactions, multi-DC distributed operations and testing methodology that dwarfs Jepsen.

Would it therefore be possible to replace Redis (Cluster) with foundationDB?

How strongly is nchan message persistence tied to Redis (e.g. Lua scripting used only for transactionality? Any docs describing what features of Redis are used for what purpose?)?

Cheers, Markus

slact commented 5 years ago

Nchan interacts with Redis almost entirely with Lua scripts. If these can be reproduced as atomic transactions in FoundationDB, I can make this happen.

cloudspeech commented 4 years ago

I took a look at the scripts and saw they're not simple.

Thus I wonder: would the option to make MemoryStore persistent be a better alternative?

We have https://github.com/meln1k/foundationdb-block-device.

Could we perhaps mmap shared memory to a foundationdb-backed file?

Just thinking aloud...