gRPC на Go: от внутреннего устройства до архитектуры

Materials from the video - https://t.me/igoroutine/73 Programming courses - https://igoroutine.courses/?utm_sourc... In this video, we move step by step from theory to practice. First, we look at how modern application architecture is structured and why gRPC is increasingly chosen in microservices. We discuss the history of the technology and take a deep dive into HTTP 2.0, comparing it with HTTP 1.0 to understand where the speed and efficiency come from. Then we move on to Protocol Buffers: data types, optional, enum, oneof, map, nested and repeated messages, deprecated and reserved fields, as well as contract version compatibility. I show how to define a .proto file, generate code, and structure the development process. In DEMO format, we build a full-fledged Go service: contract definition, validation, code generation with buf, application startup, and endpoint testing. We also cover gRPC Gateway, Swagger generation for REST, and approaches to implementing streams in REST. In the end, we summarize practical conclusions and discuss architectural decisions. Telegram: https://t.me/igoroutine VK: https://vk.com/igoroutine Instagram:   / igoroutine   YouTube:    / @igoroutine   Timestamps: 00:00:00 - Introduction 00:00:22 - The Real World. What Modern Application Architecture Looks Like 00:07:47 - gRPC. History 00:16:43 - HTTP 2.0. Internal Structure and Comparison with HTTP 1.0 00:32:34 - gRPC. Internal Architecture and Usage 00:35:21 - Protocol Buffers. Serialization Protocol in gRPC. Comparison with JSON and XML 00:38:27 - Protocol Buffers. Scalar Types 00:38:56 - Protocol Buffers. Well-Known Types 00:39:53 - Protocol Buffers. Common Types 00:40:48 - Protocol Buffers. Optional 00:41:38 - Protocol Buffers. Enum 00:41:55 - Protocol Buffers. Deprecated Fields 00:43:34 - Protocol Buffers. Reserved Fields 00:46:19 - Protocol Buffers. Nested Messages & Repeated 00:47:00 - Protocol Buffers. Oneof 00:47:35 - Protocol Buffers. Map 00:47:44 - Protocol Buffers. Serialization Implementation 00:50:02 - Protocol Buffers. gRPC Streams 00:51:47 - Protocol Buffers. What the Development Process Looks Like 00:52:12 - Protocol Buffers. Contract Version Compatibility 00:53:13 - How to Define a .proto Contract (DEMO) 00:54:00 - How to Generate Code from a .proto File (DEMO) 00:57:05 - Building a Full Application (Service). Writing the Contract (DEMO) 00:59:50 - Building a Full Application (Service). Contract-Level Validation (DEMO) 01:00:57 - Building a Full Application (Service). Generation, buf, easyp (DEMO) 01:05:38 - Additional Material 01:05:53 - Building a Full Application (Service). Running Code Generation (DEMO) 01:06:50 - Building a Full Application (Service). Running the Application (DEMO) 01:15:29 - Building a Full Application (Service). Calling the Service Endpoints (DEMO) 01:17:22 - gRPC Gateway. Theory 01:18:15 - gRPC Gateway. Practice (DEMO) 01:22:13 - Swagger Generation for REST 01:22:54 - How to Implement Streams in REST 01:24:30 - Conclusions 01:25:17 - Final

Go Error Handling: Complete Guide for Developers & Interviews
▶︎

Go Error Handling: Complete Guide for Developers & Interviews

Domain Driven Design в Go — это не больно (почти) / Илья Сергунин (Авито)
▶︎

Domain Driven Design в Go — это не больно (почти) / Илья Сергунин (Авито)

gRPC Basics in Go - Microservices Like in Big Tech
▶︎

gRPC Basics in Go - Microservices Like in Big Tech

Go Performance Boost: Deep Dive into Swiss Table Maps
▶︎

Go Performance Boost: Deep Dive into Swiss Table Maps

Как сеньор из VK отвечает на вопросы про Go, SQL и Linux
▶︎

Как сеньор из VK отвечает на вопросы про Go, SQL и Linux

КАК УСТРОЕН TCP/IP?
▶︎

КАК УСТРОЕН TCP/IP?

New Garbage Collector in Go 1.26! Already Used at Google | Complete GC Guide
▶︎

New Garbage Collector in Go 1.26! Already Used at Google | Complete GC Guide

Устраиваюсь кодером НЕ УМЕЯ кодить [ Пранк работодателей ]
▶︎

Устраиваюсь кодером НЕ УМЕЯ кодить [ Пранк работодателей ]

Новая map в Golang | map в go под капотом
▶︎

Новая map в Golang | map в go под капотом

Паттерны отказоустойчивости микросервисов на Go - Микросервисы, как в BigTech
▶︎

Паттерны отказоустойчивости микросервисов на Go - Микросервисы, как в BigTech

Главная проблема ИИ, которую никто не может решить
▶︎

Главная проблема ИИ, которую никто не может решить

Most commonly ASKED pattern in Go Concurrency INTERVIEWS
▶︎

Most commonly ASKED pattern in Go Concurrency INTERVIEWS

Memory Explained: RAM, Virtual and External — From Hardware and OS Kernel to Go
▶︎

Memory Explained: RAM, Virtual and External — From Hardware and OS Kernel to Go

Go To Memory. Разбираем аллокатор Go по полочкам / Антон Киреев (Авито)
▶︎

Go To Memory. Разбираем аллокатор Go по полочкам / Антон Киреев (Авито)

CI/CD — In Plain English with a Clear Example
▶︎

CI/CD — In Plain English with a Clear Example

REST vs gRPC in Microservices | Which One Should You Use? (Explained Clearly)
▶︎

REST vs gRPC in Microservices | Which One Should You Use? (Explained Clearly)

Context in Go: Everything a Developer Needs to Know
▶︎

Context in Go: Everything a Developer Needs to Know

How to Answer Kafka Interview Questions? A Complete Analysis
▶︎

How to Answer Kafka Interview Questions? A Complete Analysis

How Operating Systems Work: From the Kernel and Syscalls to Go | Complete Breakdown
▶︎

How Operating Systems Work: From the Kernel and Syscalls to Go | Complete Breakdown

Как на самом деле устроены каналы в Golang? | Golang channels internals
▶︎

Как на самом деле устроены каналы в Golang? | Golang channels internals