I'd like to say great work on Slanger, we very much look forward to using and contributing to this project.
I assume each Slanger node uses the same shared Redis server for channel state, and was wondering if you were able to provide some insight on the most appropriate way to scale Redis if you had dozens of Slanger nodes each with tens of thousands of concurrent connections, where Redis will hit I/O bottlenecks requiring scaling of read / write operations.
Would setting up a master-slave replication be appropriate? I believe Redis slaves are writable but I'm unsure on the consistency between the Redis servers and how that'll effect Slanger.
Hey Richard. Currently the Redis part could be an I/O bottleneck. It's something @markburns have discussed a few times before. Removing Redis for something like ØMQ might be on the table.
Have you had a look at Redis Cluster (http://redis.io/presentation/Redis_Cluster.pdf), which is currently in development? Do you think something along those lines may be appropriate?
I'm not sure the diagram looks like the amount of internode traffic is O(n^2)