12 Factory and Horizontal Scaling¶
This section describes some tips you can use to be able to productionize the Maestro.
The first and most important is to avoid to use any local configuration as a local upload file system, local mongodb and rabbitmq.
- You should use a reliable storage engine as S3 - More details about upload.
- You can use atlas mongodb to manage your mongo db externally. - More details about external DB.
- Configuration a third-party SMTP - More details about SMTP.
- Set a unique value for each
SECRETJWTkey - More details about tokens.
Spin up an nginx/loadbalance over any public endpoint to handle ssl configuration.
Discovery, reports and analytics services are compound by two parts, one it’s the api, and the other is the workers, you don’t need to deploy it on the same server.
Follow a single example,
It’s possible to improve the reliability over discovery and reports services.
Scheduler Beat App¶
Scheduler app have two parts, the producer called beat and the workers, the beat isn’t able to have multiple instance on the same time, be careful. To minimize the drawback, the beat schedule is an isolated and an stateless service (if fall, you can call up the beat again).