openimsdk / helm-charts

helm charts repository for openim
https://openimsdk.github.io/helm-charts/
Apache License 2.0
14 stars 9 forks source link

Enhancement Request: Transition to Subdomain-Based Access and Load Balancing for OpenIM Deployment with Sealos #17

Open cubxxw opened 8 months ago

cubxxw commented 8 months ago

Issue Description:

Currently, our system utilizes sealos for deploying OpenIM with a direct IP address method, as executed with the command sudo sealos run --env publicIP=192.168.10.10 labring/openim:errcode. However, in our business context, where OpenIM serves a secondary role, we propose a shift from using a public IP address to a subdomain-based approach. This change aims to enhance accessibility and streamline our service architecture.

Suggested Changes:

  1. Subdomain Implementation: Replace the current public IP address configuration with subdomains such as api.xxxx.net.cn, ws.xxxx.net.cn, sysnotice.xxxx.net.cn, and minio.xxxx.net.cn. This approach will facilitate easier access and management.
  2. Default Load Balancing Configuration: Integrate a default load balancing mechanism to manage traffic across these subdomains efficiently. This setup should ensure consistent performance and availability.
  3. Dual Accessibility: Ensure that the endpoints are accessible both from the app side and server side for business system integration. This dual accessibility will leverage the already deployed load balancing within OpenIM.
  4. Existing Database System Compatibility: Our current database system, managed by the Pigsty cluster, already utilizes a subdomain access method (e.g., sss.pigsty:5433) with Nginx for load balancing. Compatibility and seamless integration with this existing setup are crucial.
  5. Consideration of Load Balancing Tools: We advise evaluating the integration of high-performance and popular tools like Traefik for load balancing, potentially replacing the less flexible Nginx in the Pigsty project. This consideration should be in line with OpenIM's requirements and our client's existing load balancing tools, which mainly include Nginx and Traefik.

Objective:

The goal is to create a more flexible, scalable, and efficient system architecture that supports our business needs and client integration requirements. By transitioning to a subdomain-based approach and optimizing load balancing, we aim to enhance the overall performance and user experience of our system.

caesar168 commented 7 months ago

This is a real need and I look forward to further refinement.