Scaling Discourse Chat for High Channel Volume: Limitations, REST API & Best Practices?

Hi everyone,

I’m exploring the use of Discourse Chat for a large-scale integration and need some community insights. I run a website with around 10k pages, and each page represents a separate community (or audience) – which is why I’m considering a dedicated chat channel per page.

This raises a few questions:

  1. Channel Limitations:
  • What are the known limitations when it comes to creating and managing a very high number of chat channels in Discourse?
  • If dedicated channels per page (10k channels) prove impractical, what are the recommended approaches for grouping or categorizing these pages into larger communities?
  • If dedicated channels per page (10k channels) prove impractical, what are the recommended approaches for grouping or categorizing these pages into larger communities?
  1. REST API Availability:
  • Is there an official REST API or other programmatic interface available for managing chat channels and messages?
  1. User Limitations:
  • What are the limitations regarding the number of active users or overall users that can join a channel?
  • Are there any concurrency or performance issues related to high numbers of active users in a single channel?
  1. Performance & Resource Concerns:
  • Would having a massive number of channels (each potentially with high message volumes) strain server resources or open extra ports that could impact overall performance?
  • Are there any configuration settings or best practices (e.g., retention policies, database tuning) that help when handling high volumes of chat activity?
  1. Best Practices & Alternatives:
  • Has anyone implemented a similar setup (e.g., a channel per page or grouping pages into broader communities) and what challenges did you encounter?
  • What strategies would you recommend for organizing and scaling chat functionalities in a scenario like this?

Any insights, benchmarks, or configuration tips would be extremely helpful. I’m open to suggestions on both the scalability of channels and how best to integrate and manage chat via available APIs.

Thanks in advance for your help and feedback!