This is the architecture I designed for service “Managed Service for Alibaba Cloud” of company production. It’s also my common architecture that can be used to deploy distributed Python applications or service based on workers or MQ. This is a easy to upgrade architecture. You can simply add other service or make it becoming microservices.
I removed some sensitive information such as source code, configuration and so on.
OS - Linux (CentOS 7 or 6, Ubuntu ..)
Python 3.6 (< 3.7) with pip, virtualenv …
supervisor (if need)
DB - Postgresql (or MySQL)
Task Queue - Redis (or RabbitMQ)
source code - Removed
Nginx can be extracted on top of all boxes.
Stack Files can be stored in individual box or OSS.
For now, Celery Worker must be in API Box (for HA, should no related to API. such as create/access)
I am living in Wuhan with my wife and daughter. Before 2010, I was living in Beijing for a long time. My interesings are cloud technology, distributed system, data mining and mobile technologies. In my spare time, I like to play football and swiming. “Explorer. Dream. Discover. “ is my favorite quotation. And it is also the way I am looking for and doing.