irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
JSON Neden Yavaş?
Mikroservisler birbirleriyle konuşurken genellikle REST API (JSON) kullanır. Ancak JSON metin tabanlıdır, boyutu büyüktür ve serileştirilmesi (parse) yavaştır.Google'ın geliştirdiği gRPC, HTTP/2 üzerinden Binary (İkili) veri taşır. JSON'dan 10 kata kadar daha hızlıdır.Protocol Buffers (.proto)
gRPC'de veri yapısı .proto dosyalarında tanımlanır. Bu dosya hem Go, hem Python, hem Java için otomatik kod üretir.user.proto:
Kod:
syntax = "proto3";
service UserService {rpc GetUser (UserRequest) returns (UserResponse);}
message UserRequest {int32 id = 1;}
message UserResponse {string name = 1;string email = 2;}
Go Sunucu Örneği (Kavramsal)
Otomatik üretilen kodları kullanarak sunucuyu ayağa kaldırmak çok basittir.
Kod:
func (s *server) GetUser(ctx context.Context, req *pb.UserRequest) (*pb.UserResponse, error) {// Veritabanından kullanıcıyı bul...return &pb.UserResponse{Name: "Gopher", Email: "[email protected]"}, nil}