Deploy Baserow on multiple servers and run with Supervisor(horizontal scale), and then use the same redis and database?
Hi @Chase, that should work if configured properly.
- One PostgreSQL database.
- One Redis database.
- N amount of servers with supervisor running:
- gunicorn worker running on port 8000 (connecting to the same PostgreSQL and Redis DB)
- celery worker (connecting to the same PostgreSQL and Redis DB)
- celery export worker (connecting to the same PostgreSQL and Redis DB)
- nuxt server running on port 3000
- PUBLIC_WEB_FRONTEND_URL: public web-frontend nginx url
- PUBLIC_BACKEND_URL: public backend nginx url
- PRIVATE_BACKEND_URL: private backend nginx url
- One NGINX load balancer server that
- distributes public backend requests over the servers running supervisor over port 8000.
- distributes private backend requests over the servers running supervisor over port 8000.
- distributes public web-frontend requests over the servers running supervisor over port 3000.
The above scenario should allow you to vertically scale the database servers when needed and horizontally scale the application server.
Thanks for your patient reply! I will try according to your guidance, I use supervisor to run Baserow, I don’t know the meaning of PUBLIC_BACKEND_URL and PRIVATE_BACKEND_URL when used, I read: Configuring Baserow, but when actually used I still have some doubts.
The network between my multiple servers is interoperable and can be accessed directly, so I currently set the values of these two parameters to: http://backend:8000, works fine when using only one server. I don’t know if this is still possible when building a cluster with multiple servers, if you can share your thoughts, it would be very grateful