> For the complete documentation index, see [llms.txt](https://lennuftechwiki.gitbook.io/lennuftechwiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lennuftechwiki.gitbook.io/lennuftechwiki/servernaya-chast.md).

# Серверная часть

## Требования к серверной части

**1. Вариант на одном сервере**&#x20;

Самый простой и быстрый способ запустить платформу - это установка всех микросервисов платформы на один сервер, где каждый микросервис будет поднят как хост nginx, сервер баз данных и все остальные сервисы также подняты на этом же физическом (или виртуальном) сервере. Хранение файлов (изображения товаров, генерируемые документы и тп) можно хранить прямо в хранилище микросервиса File-MS, но мы настоятельно рекомендуем использование облачного s3-совместимого хранилища

<figure><img src="/files/LGecdNtMujXQBklzIodx" alt=""><figcaption></figcaption></figure>

Испытания показали, что при базовых настройках, сервер с характеристиками:&#x20;

* Оперативная память: 16 Гб;&#x20;
* Количество ядер процессора: 4;&#x20;
* Операционная система Ubuntu Server 20.04 LTS
* SSD от 60 ГБ

-может выдерживать нагрузку до 1500 RPS. (Отчет нагрузочного тестирования - [ссылка](https://docs.google.com/document/d/1cnr39COlDdAApOC7Hoj7U_0-QNxClBQnwSXPh4R-BhQ/edit#heading=h.2s74ivyqr8uk)  )

**Необходимое время на развертывание платформы по этому варианту - 5 рабочих дней.**&#x20;

**2. Масштабирование сервера**

При ожидаемом большем трафике следует реплицировать сервер описанный выше, с установкой перед ними прокси-балансировщика, БД следует вынести на отдельный сервер (или кластер серверов) для возможности общего доступа к ним с серверов с микросервисами.&#x20;

Характеристики сервера БД следует рассчитать индивидуально под прогнозируемый объем ассортимента. Рекомендуем на старте взять кластер из трех серверов с характеристиками:

* 16Гб оперативной памяти&#x20;
* 8 ядер процессора&#x20;
* 500Гб места на жестком диске

<figure><img src="/files/E4JhTybPeRMInCckP5tv" alt=""><figcaption></figcaption></figure>

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

**Необходимое время на развертывание платформы по этому варианту - 5 рабочих дней для каждого сервера.**&#x20;

**3.Вариант с размещением каждого микросервиса на отдельном сервере**&#x20;

Более продвинутым решением развертывания платформы будет развертывание каждого микросервиса на отдельном сервере (или виртуальной машине) с последующей репликацией и установкой прокси-балансировщика для каждого такого сервера. Технические характеристики для каждой такой машины на начальном этапе рекомендуем брать:

* 8ГБ оперативной памяти,&#x20;
* 8 ядер процессора&#x20;
* 20 ГБ места на жестком диске для каждой реплики каждого микросервиса,&#x20;
* Операционная система Ubuntu 22.0&#x34;**.**&#x20;

В процессе использования платформы и анализе нагрузки, скорее всего будет необходимо скорректировать количество реплик и выделение ресурсов для каждого микросервиса. Такой подход более гибок в масштабировании, позволяет “спрятать” используемые микросервисы в приватную сеть

<figure><img src="/files/1qBL2AMbZxWWPK8mD1Gp" alt=""><figcaption></figcaption></figure>

**Необходимое время на развертывание платформы по этому варианту - 15 рабочих дней, (будут развернуты каждый микросервис на отдельный сервер (или ВМ) в единственном экземпляре.**

## Доступ к серверу по SSH

* Домен должен указывать на сервер через A-запись&#x20;
* Поддомены должны указывать на главный домен через CNAME&#x20;
* В противном случае, дать доступ к панели регистратора домена для редактирования DNS

Список поддоменов: www, admin, api-ms, auth-ms, catalog-import-ms, cm-ms, cms-ms, file-ms, logistics-ms, marketing-ms, mas, merchant-api-ms, merchant-management-ms, message-ms, oms-ms, pim-ms, report-ms

## Доступы к сервисам

* Доступы к хранилищу S3
* DaData&#x20;
* Aplaut (ex Shoppilot)&#x20;
* APISHIP или CDEK&#x20;
* ЮKassa&#x20;
* SMS Center &#x20;
* Логотипы для витрины - для шапки и подвала&#x20;
* Логотипы для админки и маса (панели мерчанта)&#x20;
* Google Tag Manager Id
* Логин/пароль Email для отправки писем с сайта

Необходимые данные по Email:

* MAIL\_USERNAME
* MAIL\_PASSWORD
* MAIL\_HOST
* MAIL\_PORT
* MAIL\_FROM\_NAME
* MAIL\_FROM\_ADDRESS
* MAIL\_ENCRYPTION (ssl или tls)
