
🔎 Следующее видео уже в монтаже - оно будет про HTMX.
Ну а пока работа движется, закину перевод интересной шпаргалки из поста на LinkedIn от Alex Xu - какой стек технологий обычно используется в микросервисной архитектуре.
На картинке можете посмотреть диаграмму, которая показывает технологический стек для MSA на стадии разработки (pre-production) и уже на продакшн-среде.
▶️ 𝐏𝐫𝐞-𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧
🔹 Определение API - устанавливает контракт между фронтендом и бэкендом. Для этого можем использовать Postman или OpenAPI.
🔹 Разработка - Node.js или React - это популярные фреймворки для разработки фронта, а Java/Python/Go для разработки бэка. Также нам нужно конфигурировать API gateway согласно нашему API-контракту.
🔹 СI/CD (Continuous Integration / Continuous Development) - JUnit и Jenkins используются для автоматического тестирования. Код упаковывается в Docker-образы и разворачивается (деплоится) в виде микросервисов.
▶️ 𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧
🔹NGninx - классический выбор среди балансировщиков нагрузки. Cloudflare предоставляет CDN (Content Delivery Network - географически распределённую сетевую инфраструктуру).
🔹 API Gateway - мы можем использовать Spring Boot для гейтвея (сетевого шлюза), и использовать Eureka/Zookeeper для Service Discovery (служба, которая помогает сервисам динамически находить друг друга в сети).
🔹 Микросервисы разворачиваются в облаке. Тут у нас есть варианты: AWS, Microsoft Azure, или, например, Google GCP.
🔹 Кэш и полнотекстовый поиск - Redis тут будет стандартным выбором для кэширования пар ключ-значение. ElasticSearch используется для полнотекстового поиска.
🔹 Коммуникация между сервисами - для того, чтобы сервисы могли общаться друг с другом, мы можем использовать мессенджинговую инфраструктуру, например, с применением Kafka, либо использовать RPC.
🔹 Персистентность - мы можем использовать MySQL или PostgreSQL для реляционных БД, и Amazon S3 для хранилища объектов. Также можем использовать Cassandra для колоночного хранения данных, если нужно.
🔹 Управление и мониторинг - чтобы управлять таким большим количеством микросервисов, используются такие стандартные инструменты как Prometheus, Elastic Stack и Kubernetes.
Мне понравилась сводка, достаточно сжато технологии расписаны, есть что поизучать. Может, про что-то из этого видео записать, чего ещё нет на канале?
Ну а пока работа движется, закину перевод интересной шпаргалки из поста на LinkedIn от Alex Xu - какой стек технологий обычно используется в микросервисной архитектуре.
На картинке можете посмотреть диаграмму, которая показывает технологический стек для MSA на стадии разработки (pre-production) и уже на продакшн-среде.
▶️ 𝐏𝐫𝐞-𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧
🔹 Определение API - устанавливает контракт между фронтендом и бэкендом. Для этого можем использовать Postman или OpenAPI.
🔹 Разработка - Node.js или React - это популярные фреймворки для разработки фронта, а Java/Python/Go для разработки бэка. Также нам нужно конфигурировать API gateway согласно нашему API-контракту.
🔹 СI/CD (Continuous Integration / Continuous Development) - JUnit и Jenkins используются для автоматического тестирования. Код упаковывается в Docker-образы и разворачивается (деплоится) в виде микросервисов.
▶️ 𝐏𝐫𝐨𝐝𝐮𝐜𝐭𝐢𝐨𝐧
🔹NGninx - классический выбор среди балансировщиков нагрузки. Cloudflare предоставляет CDN (Content Delivery Network - географически распределённую сетевую инфраструктуру).
🔹 API Gateway - мы можем использовать Spring Boot для гейтвея (сетевого шлюза), и использовать Eureka/Zookeeper для Service Discovery (служба, которая помогает сервисам динамически находить друг друга в сети).
🔹 Микросервисы разворачиваются в облаке. Тут у нас есть варианты: AWS, Microsoft Azure, или, например, Google GCP.
🔹 Кэш и полнотекстовый поиск - Redis тут будет стандартным выбором для кэширования пар ключ-значение. ElasticSearch используется для полнотекстового поиска.
🔹 Коммуникация между сервисами - для того, чтобы сервисы могли общаться друг с другом, мы можем использовать мессенджинговую инфраструктуру, например, с применением Kafka, либо использовать RPC.
🔹 Персистентность - мы можем использовать MySQL или PostgreSQL для реляционных БД, и Amazon S3 для хранилища объектов. Также можем использовать Cassandra для колоночного хранения данных, если нужно.
🔹 Управление и мониторинг - чтобы управлять таким большим количеством микросервисов, используются такие стандартные инструменты как Prometheus, Elastic Stack и Kubernetes.
Мне понравилась сводка, достаточно сжато технологии расписаны, есть что поизучать. Может, про что-то из этого видео записать, чего ещё нет на канале?