📄️ Структура backend сервиса на языке PHP
Наши сервисы имеют несколько отличающуюся от стандартного Laravel файловую структуру. Её цель - сделать сервисы более поддерживаемыми с течением времени и наращиванием функциональности. На техническом уровне это во многом сводится к двум вещам:
📄️ Руководство по стилю кода: PHP
Предупреждение:
📄️ Руководство по стилю кода: Laravel
Предупреждение:
📄️ Рекомендации к написанию автотестов
Перед началом следуем ознакомиться с Autotests Guide.
📄️ Отладка с помощью xdebug
Отладка сервиса на базе Swoole
📄️ Подключение http клиентов в сервис Ensi
Микросервисная архитектура подразумевает обмен сообщениями между сервисами. Основным способом общения сервисов Ensi между собой являются http-вызовы, поэтому http-клиент является очень важной частью сервиса и имеет некоторые настройки, о которых необходимо знать.
📄️ Работа с Kafka
В PHP-сервисах Ensi для Kafka используют расширение phprdkafka (уже есть в базовом docker-образе) и три Laravel-пакета, которые закрывают подключение, чтение и запись. Правила именования топиков — в Kafka Design Guide.