На странице собраны вопросы по gRPC — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, api, database.
Как устроена балансировка нагрузки в 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 применяет эффективную бинарную…
Риски глобального кеша и способы их устранения Проблемы: При параллельном доступе возможны состояния гонки (race conditions) Изменение данных в разных участках программы приводит к непредсказуемому состоянию…
Альтернативы для клиент-серверного взаимодействия: gRPC, GraphQL и другие технологии gRPC: протокол удалённого вызова процедур, работающий поверх HTTP/2 и использующий бинарную сериализацию Protobuf; эффективен в…
gRPC — фреймворк для удалённых процедурных вызовов Unary RPC: один запрос и один ответ Server streaming RPC: один запрос и поток ответов Client streaming RPC: поток запросов и один ответ Bidirectional streaming RPC:…
REST работает поверх HTTP/1.1 и отличается универсальностью Передаёт данные в текстовых форматах, таких как JSON и XML, поэтому их легко читать Поддерживается браузерами и удобен для веб-клиентов Его просто проверять…
gRPC обеспечивает низкие задержки, меньшую нагрузку на сеть и сервисы, масштабируемость и строгую типизацию, которые особенно важны для высоконагруженных микросервисов.
Почему в Go нельзя создавать новый http.Client для каждого запроса? http.Client — структура, предназначенная для отправки HTTP-запросов в Go через встроенный Transport управляет TCP-подключениями Transport повторно…
Почему context.Background() не следует передавать вглубь бизнес-логики и как правильно работать с контекстами context.Background() представляет собой корневой пустой контекст: его нельзя отменить, и в нём нет значений…