Веб-слой - Архитектура с хранением состояния и без хранения состояния в веб-приложениях

Архитекура с хранением состояния:
с хранением состояния

Архитектура без хранения состояния:
без хранения состояния

Общая схема без хранения состояния:
 общая схема без хранения состояния

Масштибирование веб приложения - Подготовка под нагрузку

Конфигурация одного сервера

стартовая архитектура, всё на одном сервере

Мы можем вынести базу отдельно:
база данных на отдельном сервере

-- тут следует уточнить по вертикальное и горизонтальное масштабирование

Балансировщик нагрузки

база данных на отдельном сервере

codeceptioin Скрипт инициллизации для выполнения перед любым запуском

В вашем .yml файле добавим строчку для указания глобального скрипта инициллизации:

bootstrap: bootstrap.php

В сумме может выглядеть как-то так (фрагмент):

Service Locator Локатор сервисов/служб - что это такое

Service Locator - подход к созданию приложений, при котором есть некий центральный объект, через который можно получать зависимости.

service locator локатор служб сервисов

Часто сервис локатор преподносится как антипаттерн проектирования, вместо него так же часто предлагают использовать инъекцию зависимостей.

Видео материалы

Поиск чисел, которые встречаются в массиве нечетное число раз - Разбор алгоритмической задачи

Есть массив целых чисел (10 элементов), например:

[1, 3, 2, 1, 3, 2, 2, 4, 0, -5]

Задача: вывести на экран все числа, которые встречаются нечетное число раз.
Т.е. в данном случае это:

2, 4, 0, -5 

Решите:
за 1 прочтение массива (сложность меньше или равную N по количеству операций чтения исходного массива), т.е. по итогам одного чтения массива ответ должен быть готов.

docker compose Доступ к внешним адресам из контейнера по домену

Можно использовать всё тот же extra-hosts:

 extra_hosts:
      - "host.docker.internal:host-gateway"
      - "test.loc:host-gateway"
      - "anotherapi.local:10.0.0.1"

- то есть указываем:

  • host-gateway - для ссылки на сетевой интерфейс хостовой системы
  • конкретный ip - если нам надо сослаться какой-то IP

Стажировка на реальном проекте - где набраться опыта программисту: Микросервисы, деплой, CI/CD, автотесты

Тут будет документация по нашей стажировке

Как организован проект

  • Бэкэнд разбит на микросвервисы, которые отвечают за разные типы данных/задачи (статьи, вопросы/ответы, авторизация и т.д.)
  • Фронтэнд в данный момент представлен +- монолитным приложением на React.js (Next)

Что по тестированию

Имеются:

bash allexport Экспорт всех переменных

Чтобы переменные были доступны дочерним процессам терминала их надо именно экспортировать, а не просто считать через source, на помощь может прийти allexport режим:

set -o allexport
source .env
set +o allexport

или одной строкой:

set -o allexport && source .env && set +o allexport

-- ту мы:

Pages

Subscribe to fkn+antitotal RSS