Стек Dockerize: MapServer - веб-приложение AngularJs - API Lumen - PostgreSQL

0

Я пытаюсь решить некоторые из моих вопросов относительно архитектуры системы, состоящей из следующего:

  • Интерфейс веб-приложения AngularJS
  • MapServer создает и обслуживает изображения карт через WMS
  • Lumen REST API, содержащий всю бизнес-логику
  • База данных PostgreSQL с PostGIS для хранения пространственных данных

Каким образом можно подобрать такой стек?

В настоящее время я подумываю о создании следующих контейнеров:

  1. Веб-сервер, содержащий:

    • Веб-сервер Apache
    • Угловое приложение AngularJS
  2. Сервер карты, содержащий:

    • Веб-сервер Apache с поддержкой CGI
    • Приложение MapServer CGI
    • MapCache/TileCache
  3. Контейнер сервера приложений:

    • Веб-сервер Apache
    • Lumen API backend
  4. База данных, содержащая:

    • Реляционная база данных PostgreSQL
    • Надстройка PostGIS

Список компонентов каждого контейнера еще не завершен, поэтому некоторые из них могут не соответствовать точно там, где они были размещены. Например, должен ли Apache находиться в отдельном контейнере?

Теги:
docker
mapserver

1 ответ

0

Подумайте о философии докеров, Microservices.

Microservices - это подход к разработке приложений, в котором большое приложение построено как набор модульных сервисов. Каждый модуль поддерживает определенную бизнес-цель и использует простой, четко определенный интерфейс для связи с другими модулями.

Это означает, что нам нужно разбить нашу систему на микросервисы и поместить каждый микросервис в контейнер. Это значительно поможет вам при обновлении приложения.

В вашем случае я бы отделил apache от углового контейнера js.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню