Задать вопрос
Ответы пользователя по тегу Веб-разработка
  • Как объединить базы данных через API Gateway?

    vhood
    @vhood
    Не забывайте отмечать решения
    API Gateway - это паттерн микросервисной архитектуры. Это отдельный сервис, фронтенд взаимодействуют с ним, а он перенаправляет запросы.

    Есть еще один паттерн, Saga. Тоже отдельный сервис.
    API Gateway может послать запрос на изменение данных, которые хранятся в двух разных базах, в Saga, он отправит запрос нескольким разным сервисам и если один их них отвалится - отправит другому запрос на откат.

    Для просмотра можно вобще четвертую базу взять и сервис. В этой базе будут лежать данные максимально подготовленные под запросы, т.е. что-бы запрос, например, можно было построить без джойнов и точно использовались бы индексы. Это из CQRS.

    Резюмируя, могу посоветовать погуглить Saga и CQRS, а лучше прочесть книгу Микросервисы
    Ответ написан
    Комментировать
  • Какие есть годные альтернативы OpenServer?

    vhood
    @vhood
    Не забывайте отмечать решения
    После OpenServer могу посоветовать перейти на виртуалки, например поднять debian в virtualbox (или другом менеджере).

    Затем научиться разворачивать те сервисы, которые использовались в OpenServer, в linux (из примера выше - в debian на виртуалке).

    Таким образом можно получить понимание какие есть конфигурации и где они обычно расположены, как работать с версиями и вобще с linux.

    Затем можно погружаться в Docker, т.к. он работает на linux namspaces и контейнеры обычно базируются на популярых дистрибутивах, например Ubuntu (Который основан на Debian). Это похоже на работу с виртуалками, но немного сложнее в понимании, т.к. образ со всеми пакетами разворачивается исходя из настроек Dockerfile, конфиги копируются в нем же, либо пробрасываются в docker-compose, либо пробрасываются при запуске из консоли. Нужно понимать отличия, понимать как работают unix права, уметь подключаться в контейнер и смотреть что там происходит, анализировать логи в потоке вывода, который можно посмотреть отдельной командой.
    Конечно, можно взять готовый docker образ под проект, но далеко не всегда его достаточно и приходится от них наследоваться и переписывать.
    Ответ написан
    Комментировать