...
Infrastructure Diagram:
Components:
- Front Load Balancer: Được triển khai trên một instance độc lộc sử dụng Nginx.d để làm reverse proxy cho hệ thống, mục đích chính của FLB là SSL Termination và setup proxy route đến Kong API Gateway, đồng thời sẽ đáp ứng firewall rule cơ bản ở phía đầu.
- Kong API Gateway: Platform API được phát triển dựa trên nginx và lua, mục đích là để cấu hình cho service route được linh hoạt và mở rộng hơn. Ngoài ra, Instance này còn được dùng để xử lý các luồng authen trước khi request đến service bên trong.
- Docker Swarm Instance (for Rest + gRPC): Đây là các instance dùng để triển khai các container cho mục đích giao tiếp với API Gateway.
- Docker Swarm Insatnce (for Worker): Đây là các instance dùng để triển khai các container được sử dụng dạng cronjob or process event từ RabbitMQ
- Database & Storage: gồm PostgresSQL và Minio Bucket for file store
- RabbitMQ for process event
System Requirements:
Code Block | ||
---|---|---|
| ||
System Requirements:
Services:
Infrastructure: ick
Platform: docker-swarm
OS: linux
Architecture: amd64
RAM: 8GB
CPU: 4
Number of Nodes: 4
Storage: 100GB
Databases:
PostgresSQL:
Image: postgres:9.6.10-alpine
Replicas: 1
RAM: 8GB
CPU: 4
Storage: 500GB
Backup: 1
ObjectStorage:
Image: minio/minio:RELEASE.2018-10-06T00-53-53Z
Replicas: 1
RAM: 4GB
CPU: 2
Storage: 500GB
Backup: 1
Queue:
Image: rabbitmq:3.7.7-management-alpine
Replicas: 1
RAM: 4GB
CPU: 2
Storage: 50GB
Backup: 1
LoadBalancer:
Image: nginx:1.15.5-alpine
Replicas: 1
RAM: 4GB
CPU: 2
Storage: 50GB
Backup: 1
Apigateway:
Image: kong:2.3.3
Replicas: 1
RAM: 4GB
CPU: 2
Storage: 50GB
Backup: 1 |
...