Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Infrastructure Diagram:

Components hệ thống:

  • 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
  • Notification: Gửi thông báo đến client thông qua email/sms
  • Data warehouse: tracking hành vi người dùng của ICK & change data capture (CDC) 

Ứng dụng của bên thứ 3

  • Streaming (VOD): Phát trực tuyến video sử dụng của third party Vnetwork
  • Elsa: đánh giá phát âm tiếng Anh

Lưu ý:

  • Database của ICK có một số tables được lấy data xuống hệ thống Data Warehouse qua cơ chế CDC. Nên cần thay đổi lại chổ này nếu Data Warehouse và Database không cùng mạng hạ tầng

Requirement tối thiểu cho hệ thống ICK:

System Requirements:
  Services:
    Infrastructure: ick
    Platform: docker-swarm
    OS: linux
    Architecture: amd64
    RAM: 16GB
    CPU: 4
    Number of Nodes: 3
    Storage: 100GB
  Databases:
    PostgresSQL Master:
      Image: postgres:13-alpine
      Replicas: 1
      RAM: 16GB
      CPU: 4
      Storage: 500GB
      Backup: 1
    PostgresSQL Slave:
      Image: postgres:13-alpine
      Replicas: 1
      RAM: 16GB
      CPU: 4
      Storage: 500GB
      Backup: 1
    Object Storage:
      Image: minio/minio:RELEASE.2018-10-06T00-53-53Z
      Replicas: 1
      RAM: 8GB
      CPU: 2
      Storage: 500GB
      Backup: 1
    Queue:
      Image: rabbitmq:3.7.7-management-alpine
      Replicas: 1
      RAM: 4GB
      CPU: 2
      Storage: 50GB
      Backup: 1
    Caching:
      Image: redis:6-alpine
      Replicas: 1
      RAM: 8GB
      CPU: 2
      Storage: 50GB
      Backup: 1      
    LoadBalancer:
      Image: nginx:1.18.0-alpine       
	  Replicas: 1
      RAM: 4GB
      CPU: 4
      Storage: 50GB
      Backup: 1
    Apigateway:
      Image: kong:2.3.3
      Replicas: 1
      RAM: 4GB
      CPU: 8
      Storage: 50GB
      Backup: 1


  • No labels