gRPC
Protobuf, স্ট্রিমিং, ইন্টারসেপ্টর, TLS
0/11 অধ্যায় · 0 XP অর্জিত
- 00 gRPC তৈরি — রোডম্যাপ দশটি অধ্যায় যা আপনাকে 'protobuf একটা config language' থেকে শুরু করে একটা polyglot, mTLS দিয়ে সুরক্ষিত, observable gRPC service পর্যন্ত নিয়ে যাবে — যা nginx-এর পেছনে চলছে, streaming RPC আর টাইট deadline সহ। প্রাথমিক 5 মিনিট
- 01 gRPC কী আর কখন ব্যবহার করবেন gRPC হলো HTTP/2, সাথে protobuf, সাথে codegen। এই তিনটা মিলে আপনাকে একটা typed, দ্রুত, polyglot RPC system দেয়। প্রতিটা layer কী করছে সেটা জানাই এটা ভালোভাবে ব্যবহার করার অর্ধেক দক্ষতা। প্রাথমিক 10 মিনিট
- 02 Protocol Buffers Protobuf হলো schema language আর wire format। schema-র নিয়মগুলো ঠিকঠাক করুন, আপনার service গুলো এক দশক ধরে compatible থাকবে। ভুল করুন, একটা খারাপ commit-ই একসাথে প্রতিটা client ভেঙে ফেলবে। প্রাথমিক 13 মিনিট
- 03 নিচে যে HTTP/2 চলছে gRPC হলো HTTP/2 — একটা নির্দিষ্ট সেট হেডার আর protobuf বাইটকে ফ্রেম করার একটা নির্দিষ্ট উপায় সহ। HTTP/2 আসলে কী করে সেটা জানলে প্রোডাকশনে আপনি যত gRPC failure mode-এ পড়বেন তার সবগুলোই ব্যাখ্যা হয়ে যায়। প্রাথমিক 12 মিনিট
- 04 আপনার প্রথম server আর client এক অধ্যায়ে end-to-end Go gRPC — proto, codegen, server, client, reflection, grpcurl। শেষে আপনার হাতে একটা সত্যিকারের binary থাকবে যা আপনি deploy করতে পারবেন। প্রাথমিক 12 মিনিট
- 05 Polyglot — Node আর Python client একই `.proto`, তিন ভাষা। gRPC-এর পুরো বক্তব্যই হলো wire শেয়ার্ড আর codegen ফ্রি। একবার করে ফেললে এটা আর জাদু মনে হয় না। মধ্যবর্তী 11 মিনিট
- 06 স্ট্রিমিং RPC স্ট্রিম হলো gRPC-র সেই অংশ যেখানে এটা আর REST-এর মতো দেখতে থাকে না। Server-streaming, client-streaming, আর bidirectional — তিনটা শেপ যা বদলে দেয় আপনি কেমন ধরনের সার্ভিস বানাতে পারবেন। মধ্যবর্তী 13 মিনিট
- 07 Errors, deadlines, metadata স্ট্যাটাস কোড একটা নির্দিষ্ট সেট, deadline context-এর সাথে বয়ে চলে, metadata প্রতিটা কলে সওয়ার হয়। তিনটা একসাথে একটা কাজ-করা gRPC সার্ভিসকে debuggable আর survivable বানিয়ে দেয়। মধ্যবর্তী 12 মিনিট
- 08 Interceptors Interceptor হলো gRPC-র middleware। Cross-cutting concern — auth, logging, tracing, retry, panic recovery — এখানে থাকে, একবার, প্রতিটা RPC-র জন্য। layering ঠিকঠাক করলে আপনার হ্যান্ডলার ছোট থেকে যায়। মধ্যবর্তী 13 মিনিট
- 09 TLS ও mTLS Server TLS ওয়্যার এনক্রিপ্ট করে এবং server-এর identity প্রমাণ করে। Mutual TLS ক্লায়েন্টদের জন্য একই প্রমাণ যোগ করে। দুটোই একই handshake-এর উপর চড়ে — আর একবার ছোট একটা CA থাকলে, দুটোই কয়েক লাইনের Go। উন্নত 12 মিনিট
- 10 Production self-host এমন load balancing যা HTTP/2-কে সম্মান করে, এমন observability যা আপনি আসলেই কাজে লাগান, framework-সমর্থিত health check, এবং একটা VPS-এ পূর্ণ systemd + nginx deploy। উন্নত 15 মিনিট