На странице собраны вопросы по gRPC — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: grpc, backend, api.
Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…
Как определить индексы, необходимые для оптимизации? Анализирую нагрузку: начинаю с наиболее часто выполняемых запросов и изучаю их планы выполнения с помощью EXPLAIN/ANALYZE Выявляю столбцы, используемые для…
механизм динамического получения метаданных сервера содержит сведения об описаниях сервисов, методов и сообщений реализуется специальным сервисом grpc.reflection.v1alpha.ServerReflection позволяет клиентам…
Как работает секционирование таблиц (table partitioning) в PostgreSQL? большая таблица разделяется на отдельные части — партиции каждая партиция представляет собой таблицу с собственным условием отбора, например…
Чем отличаются errors.Is, errors.As и errors.Join Улучшения работы с ошибками, появившиеся в Go 1.13 и более поздних версиях errors.Is определяет, присутствует ли в ошибке заданная целевая ошибка: сравнивает её через…
Индекс — это структура данных, предназначенная для ускорения поиска в БД На практике его часто строят на основе B-дерева или B+-дерева B-дерево сохраняет балансировку и обеспечивает логарифмическую сложность поиска…
Проектирование gRPC API с сохранением backward compatibility gRPC API описывается с помощью Protocol Buffers (proto) Не удаляйте существующие поля — добавляйте новые, назначая им уникальные номера для расширения схемы…
Как устроена балансировка нагрузки в gRPC? взаимодействие поверх HTTP/2 с поддержкой мультиплексирования клиентская балансировка с подключаемыми load balancer, например round-robin применение DNS-based discovery для…
Сетевой уровень: TCP устанавливает соединение, обеспечивает надежность и контролирует поток данных; UDP работает без установления соединения, отличается высокой скоростью, но не гарантирует доставку. HTTP — текстовый…
Основные альтернативы REST API и их особенности GraphQL : клиент формирует запрос по схеме и получает только необходимые данные, что сокращает трафик и делает взаимодействие гибче gRPC : бинарный протокол с высокой…
Транспорты между микросервисами: синхронный и асинхронный обмен Синхронные: клиент отправляет API-запрос и ожидает получения ответа REST: HTTP/JSON, простая интеграция и широкая совместимость gRPC: HTTP/2 и бинарный…
Плюсы и минусы gRPC по сравнению с REST gRPC — это протокол RPC, а REST — архитектурный стиль HTTP gRPC работает поверх HTTP/2, тогда как REST обычно использует HTTP/1.1 gRPC применяет эффективную бинарную…