Re:Commento: Open-Source Disqus Alternative
by akuji1993 on Wednesday March 20, 2019 @09:02AM
(#19441584)
I'm by no means an expert in web backend architecture, but what you have done seems pretty solid to me with my limited knowledge. We've been mostly working with Express, that's why I asked to hear some feedback about how others have done.
And also, very well done! Your software seems to work very fine, a lot of thought already went into scaling and general stability of the backend. And for me, as fullstack working for a design company, your website layout and design is pretty good. If you didn't have help with that, kudos to you, good work, especially for someone still in college :)
Edit: Website performs pretty good in a Lighthouse audit, apart from Accessibility features.
Re:Commento: Open-Source Disqus Alternative
by raviatluri on Wednesday March 20, 2019 @10:44AM
(#19442715)
I am happy to help/pitch in for the Redis support. Let me know, if you would like to collaborate.
Re:Commento: Open-Source Disqus Alternative
by adtac on Wednesday March 20, 2019 @02:27PM
(#19445251)
I'd love to get help with Redis. I don't know anything beyond the absolute basics, so it'd really be useful if someone with more experience give lend a hand! If you'd like to discuss, please add your input here: https://gitlab.com/commento/commento/issues/75
I'm planning on adding Redis support soon enough so that sudden spikes would have little impact on the database server (which is nearly always the bottleneck, unless you're compute-intensive, which isn't the case with Commento). So that if you suddenly get a few hundred thousand visitors, most API responses are cached and only a fraction will actually require disk access. Like reddit does, where it'll temporarily say there N comments, but when you open the page, there wouldn't be that many. A few seconds of inconsistency is a fine compromise in the comments world. Of course, Redis isn't going to magically make everything faster, so I'll have to be careful with where I introduce it. Optimise for the common case and all that.
I'm still in uni, and I've never actually worked on large-throughput, high-scalability stuff before, so all this has been a great learning experience for me. If you have any suggestions or war stories that might be relevant, I'm all ears!