کتاب Introduction to gRPC. با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
🚀 فتح قلهی میکروسرویسها با gRPC: دورهای جامع برای برنامهنویسان حرفهای 🚀 فتح قلهی میکروسرویسها با gRPC: دورهای جامع برای برنامهنویسان حرفهای 1. معرفی دوره: وارد دنیای سرعت و کارایی در APIها ش...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Introduction to gRPC.
موضوع کلی: برنامه نویسی
موضوع میانی: ایپیآی (API) و وبسرویسها
📋 سرفصلهای دوره
- 1. مقدمهای بر APIها و ارتباطات بین سرویسی
- 2. آشنایی با RPC (Remote Procedure Call)
- 3. مقایسه REST و RPC: تفاوتها و کاربردها
- 4. gRPC چیست؟ تاریخچه و اهداف
- 5. مزایای کلیدی gRPC: عملکرد، استریمینگ و تایپینگ قوی
- 6. معماری gRPC: نگاهی کلی به اجزای اصلی
- 7. نقش HTTP/2 در gRPC و بهبودهای آن نسبت به HTTP/1.1
- 8. آشنایی با Protocol Buffers (Protobuf) به عنوان IDL
- 9. مقایسه Protobuf با JSON و XML
- 10. اکوسیستم gRPC: ابزارها و زبانهای پشتیبانی شده
- 11. نصب و راهاندازی محیط توسعه
- 12. ساخت اولین برنامه "Hello World" با gRPC
- 13. مبانی سینتکس Proto3
- 14. تعریف Service و RPC Method در فایل .proto
- 15. تعریف Message و انواع دادههای اسکالر (Scalar)
- 16. کار با فیلدهای تکرارشونده (Repeated Fields) برای لیستها
- 17. استفاده از Enumerations (Enum) برای مقادیر ثابت
- 18. تعریف پیامهای تو در تو (Nested Messages)
- 19. کار با Mapها برای دادههای کلید-مقدار
- 20. استفاده از Oneof برای فیلدهایی که تنها یکی از آنها میتواند مقدار داشته باشد
- 21. فیلدهای رزرو شده (Reserved Fields) و مدیریت نسخههای آینده
- 22. گزینهها (Options) در فایلهای .proto
- 23. کامپایل کردن فایل .proto با protoc
- 24. بررسی کدهای تولید شده توسط کامپایلر Protobuf
- 25. انواع دادههای شناختهشده گوگل (Well-Known Types): Timestamp
- 26. انواع دادههای شناختهشده گوگل: Wrappers و Any
- 27. بهترین شیوهها (Best Practices) در نوشتن فایلهای .proto
- 28. سازماندهی فایلهای .proto با import
- 29. مدیریت پکیجها (Packages) برای جلوگیری از تداخل نام
- 30. سریالسازی و دیسریالسازی باینری Protobuf
- 31. الگوی ارتباطی Unary RPC: یک درخواست، یک پاسخ
- 32. پیادهسازی یک سرویس Unary RPC سمت سرور
- 33. فراخوانی یک سرویس Unary RPC از سمت کلاینت
- 34. الگوی Server Streaming RPC: یک درخواست، جریان پاسخها
- 35. پیادهسازی یک سرویس Server Streaming سمت سرور
- 36. مصرف داده از یک سرویس Server Streaming در کلاینت
- 37. الگوی Client Streaming RPC: جریان درخواستها، یک پاسخ
- 38. پیادهسازی یک سرویس Client Streaming سمت سرور
- 39. ارسال جریان داده از کلاینت به سرویس Client Streaming
- 40. الگوی Bidirectional Streaming RPC: جریان دوطرفه درخواست و پاسخ
- 41. ساخت و مدیریت کانال (Channel) در کلاینت
- 42. پیکربندی وضعیتهای مختلف کانال (Connecting, Ready, Idle)
- 43. مدیریت چرخه حیات سرور: شروع، توقف و خاموشی آرام (Graceful Shutdown)
- 44. مدیریت خطاها و کدهای وضعیت (Status Codes) در gRPC
- 45. ارسال اطلاعات خطا به همراه جزئیات (Error Details)
- 46. مدیریت Deadlines و Timeouts در سمت کلاینت
- 47. بررسی Deadlines در سمت سرور
- 48. لغو کردن درخواست (Cancellation) از سمت کلاینت
- 49. مدیریت لغو درخواست در سمت سرور
- 50. مفهوم و کاربرد Metadata (معادل Headers)
- 51. ارسال Metadata از کلاینت به سرور
- 52. خواندن Metadata در سرور
- 53. ارسال Metadata از سرور به کلاینت (Headers and Trailers)
- 54. مفهوم Interceptorها (Middleware)
- 55. پیادهسازی Interceptor سمت سرور (Unary)
- 56. پیادهسازی Interceptor سمت سرور (Streaming)
- 57. پیادهسازی Interceptor سمت کلاینت (Unary)
- 58. پیادهسازی Interceptor سمت کلاینت (Streaming)
- 59. کاربرد Interceptor برای لاگگیری (Logging)
- 60. کاربرد Interceptor برای اعتبارسنجی (Authentication)
- 61. مقدمهای بر امنیت در gRPC
- 62. ارتباطات ناامن (Insecure Connections) و خطرات آن
- 63. فعالسازی رمزنگاری با SSL/TLS سمت سرور
- 64. استفاده از SSL/TLS در کلاینت برای ارتباط امن
- 65. احراز هویت دوطرفه با mTLS
- 66. مدل اعتبارنامهها (Credentials) در gRPC
- 67. احراز هویت مبتنی بر توکن (مانند JWT)
- 68. پیادهسازی Call Credentials در کلاینت برای ارسال توکن
- 69. اعتبارسنجی توکن در سرور با استفاده از Interceptor
- 70. ترکیب TLS با احراز هویت مبتنی بر توکن
- 71. بررسی سلامت سرویس با gRPC Health Checking Protocol
- 72. پیادهسازی سرویس Health Check
- 73. کشف سرویس با gRPC Reflection Protocol
- 74. فشردهسازی (Compression) درخواست و پاسخ
- 75. فعالسازی و پیکربندی فشردهسازی
- 76. مانیتورینگ و جمعآوری متریکها (Metrics)
- 77. ادغام با Prometheus با استفاده از Interceptor
- 78. ردیابی توزیعشده (Distributed Tracing) چیست؟
- 79. ادغام با OpenTelemetry برای Tracing
- 80. متعادلسازی بار (Load Balancing) در gRPC
- 81. استراتژیهای Load Balancing سمت کلاینت (Round Robin, Pick First)
- 82. کشف سرویس (Service Discovery) و Name Resolution
- 83. پیادهسازی مکانیسم تلاش مجدد (Retries)
- 84. پیکربندی سیاستهای Backoff برای تلاش مجدد
- 85. تست واحد (Unit Testing) سرویسهای gRPC
- 86. تست یکپارچهسازی (Integration Testing)
- 87. ابزارهای خط فرمان برای تست gRPC (مانند grpcurl)
- 88. مفهوم gRPC-Web و کاربرد آن برای ارتباط با مرورگر
- 89. استفاده از پروکسی Envoy برای فعالسازی gRPC-Web
- 90. معرفی gRPC-Gateway برای ساخت پروکسی RESTful/JSON
- 91. پیکربندی و اجرای gRPC-Gateway
- 92. نسخهبندی (Versioning) APIهای gRPC
- 93. استراتژیهای حفظ سازگاری (Backward/Forward Compatibility)
- 94. استفاده از gRPC در معماری میکروسرویس
- 95. مقایسه gRPC با GraphQL
- 96. مقایسه gRPC با Twirp
- 97. بهینهسازی عملکرد (Performance Tuning) در gRPC
- 98. استقرار (Deployment) سرویسهای gRPC در Kubernetes
- 99. اشتباهات رایج در کار با gRPC و راههای اجتناب از آنها
- 100. جمعبندی دوره و نگاهی به آینده gRPC
تگها:
API
API Development
Distributed Systems
gRPC
gRPC tutorial
Microservices
Programming
RESTful API
Web Services
آموزش gRPC
برنامه نویسی
توسعه API
ساخت API
معرفی gRPC
وب سرویس
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.