Awesome. When I first heard of Thoonk, I failed to grasp its utility, but after reading this I can't wait to try it out.
The ease this will afford in isolating features is really exciting. Anybody else think this after reading the article about Williams, master of the comefrom?
Why do you think Redis is the best choice here? Did you benchmark other approaches and databases? What are the disadvantages of using Redis? How specifically does Redis help you make the app realtime?
You said you scaled to 10s of thousands of users on a single server. What specs did that server have and what workload did you put it under? Did you write to disk during those tests?
The naming of the types is slightly confusing. If I understand correctly, a "feed" is kind of like an unordered set (if you ignore the IDs) or a hash (using the ID as a key), while a "sorted feed" is like an array?
I agree. I'm unhappy with the names -- I'm trying to avoid naming things the same as Redis.
A feed is in publish order (not a set). Edited items are brought to the top.
A sorted_feed lets you publish at whatever end/index you want. You can also move items to a different index. Sorted feeds give you reposition events as well.
If nothing else, I'll fix this with documentation for 1.0.
The ease this will afford in isolating features is really exciting. Anybody else think this after reading the article about Williams, master of the comefrom?