|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/coding-go-microservice-protocol-buffers-grpc-api-indonesia/
课程评论:没有评论
**课程名称**: Go语言微服务开发:Protobuf与gRPC API实战 **课程概述**: 本课程旨在帮助您掌握使用Go语言在微服务架构中编写Protocol Buffers (protobuf) 和 gRPC API的技能。课程循序渐进,从protobuf基础介绍、编写指南与约定、文件结构讲起,深入讲解protobuf的各种理论知识,包括数据类型、注释、枚举、repeated、protobuf与JSON的关系、嵌套消息、包、Any类型、oneof、Map以及Schema演进。 您还将学习gRPC API的编写及其与protobuf的关联。课程内容涵盖gRPC仓库管理(GitHub)、gRPC状态与错误处理、构建健壮的gRPC API(包括超时、重试和熔断器)。此外,课程还包括gRPC服务器和客户端元数据、服务器和客户端拦截器,以及gRPC-REST网关。 通过实践练习,您将构建一个使用gRPC API和protobuf的银行应用程序。该应用将结合PostgreSQL数据库和Go ORM,实现与数据库的交互。完成课程后,您将具备使用Go (Golang) 和gRPC、protobuf构建微服务的必备技能和知识。 **先修要求 (必备)**: * 具备Go语言基础知识,本课程并非Go语言入门课程。 * 熟悉Git命令(push, pull, pull request, merge, branch)。 **所需软件**: * 编程语言:Go (Golang) * Protocol Buffers (protobuf) * gRPC * GitHub * Visual Studio Code (或其他您偏好的编辑器) **学习方式**: 课程采用实验/实践教学法,提供理论知识和需要完成的任务。每项任务都附有清晰的说明,方便您动手实践。如遇困难,亦可参考解决方案。 **课程内容亮点 (130+个课时)**: * Protobuf入门:概念与用途。 * Protobuf编写:指南、约定及文件结构。 * Protobuf数据类型:标量类型、枚举、repeated、Protobuf与JSON转换。 * Protobuf消息结构:多文件与导入、嵌套消息、包。 * Protobuf进阶:Any、oneof、Map。 * Protobuf读写:磁盘与JSON。 * Protobuf Schema演进:兼容性处理、附加数据类型。 * Protobuf选项与字段验证。 * gRPC入门:使用场景与注意事项。 * gRPC与GitHub集成:仓库管理及GitHub Actions自动化。 * gRPC API开发:Unary、Server Streaming、Client Streaming、Bidirectional Streaming。 * 实战项目:基于gRPC API和protobuf的银行应用开发,包括流式API和交易摘要。 * gRPC错误处理:状态码、错误处理机制、构建容错API(超时、重试、熔断)。 * gRPC元数据与拦截器:服务器和客户端拦截器。 * gRPC-REST网关:实现gRPC与REST API的转换。 * OpenAPI/Swagger文档生成。 **学习成果**: 完成本课程后,您将能够熟练运用Go语言进行Protocol Buffers和gRPC的开发。您将掌握Protobuf的标准编写实践、文件结构组织,并能高效处理各种消息类型,包括标量、枚举、repeated、Map、Any、oneof和嵌套消息。您还将学会Protobuf与磁盘及JSON的读写、Schema演进的兼容性处理。 此外,您将获得开发不同类型gRPC API(Unary、Server Streaming、Client Streaming、Bidirectional Streaming)的实践经验,并掌握gRPC的状态与错误处理、构建健壮API的技术(超时、重试、熔断器),以及通过gRPC-REST网关实现gRPC到REST API的转换。 总而言之,本课程将为您提供可直接应用于工作的实用技能和知识,助力您使用Protocol Buffers和gRPC构建Go语言微服务API。
Kursus ini dibuat untuk membantu Anda memahami dan implementasi coding Protocol Buffers (protobuf) dan gRPC API memakai bahasa pemrograman Go pada arsitektur microservice.Kursus ini disusun bertahap, dimulai dengan pengenalan protobuf, panduan dan konvensi penulisan, dan struktur file kursus. Anda akan mempelajari teori di balik berbagai aspek coding protobuf seperti: tipe data, komentar, enum, repeated, hubungan protobuf dan JSON, nested message, package, tipe data any, oneof, map, dan evolusi skema (schema evolution).Di kursus ini, Anda juga belajar tentang coding gRPC API dan hubungannya dengan protobuf. Anda akan belajar bagaimana mengeloloa repository gRPC di github, status grpc, dan penanganan error, membuat API gRPC yang tangguh, timeout, retry, dan circuit breaker. Kursus ini juga termasuk coding metadata untuk server dan client gRPC, server interceptor, client interceptor, dan gRPC-REST gateway.Dalam kursus, Anda akan praktek coding, dengan latihan membuat aplikasi bank menggunakan gRPC API dan protobuf, dengan memakai database PostgreSQL dan Go Object Relational Mapper (ORM) untuk coding dengan database. Di akhir kursus ini, Anda akan memiliki keterampilan dan pengetahuan yang diperlukan untuk membuat microservice menggunakan gRPC dan protobuf dengan bahasa pemrograman Go (Golang).Persyaratan (wajib):Pengetahuan dasar tentang bahasa pemrograman Go. Kursus ini bukan kursus dasar untuk GolangFamiliar dengan perintah git (push, pull, pull request, merge, branch)Software:Bahasa pemrograman: Go (Golang)Protocol Buffers (protobuf)gRPCGithubVisual Studio Code (atau editor apa pun yang Anda suka)Anda akan belajar dengan metode lab / praktek, di mana Anda diberikan teori dan tugas yang harus diselesaikan. Akan ada petunjuk untuk setiap tugas sehingga Anda dapat mencoba langsung. Jika Anda bingung, Anda dapat melihat solusi / kunci jawabannya.Kursus ini berisi 130+ pelajaran, yang mencakup topik-topik berikut:Pengantar protobuf, apa itu protobufMenulis protobuf (panduan dan konvensi coding)Tipe data, enum, repeated, dan konversi Protobuf-JSONBerbagai jenis message protobuf, multiple file and import Protobuf, nested message, dan packageAny, oneof, dan mapsMembaca / menulis protocol buffers ke disk dan JSONSchema evolution dan tipe data tambahanOption, validasi field, dan efek penomoran fieldPendahuluan gRPC, kapan memakai (atau tidak memakai) gRPCPMemakai repository github untuk Protobuf dan gRPC, termasuk otomatisasi dengan github actionMembuat coding gRPC unary server dan client, server streaming, client streaming, dan bidirectional streamingCoding API gRPC untuk bank dengan database PostgreSQL, membuat streaming API untuk kurs, dan rangkuman transaksi bankMenangani gRPC status dan error, penanganan error di sisi client, dan teknik membuat API gRPC yang tahan banting, seperti: timeout, retry, dan circuit breakerCoding gRPC metadata, interceptor server dan clientgRPC-REST gatewayDi akhir kursus, Anda akan tahu bagaimana cara coding Protocol Buffer dan gRPC menggunakan bahasa pemrograman Go. Anda akan belajar cara menulis Protobuf dengan panduan / konvensi standar, mengatur struktur file Protobuf, dan bekerja dengan tipe scalar, enum, repeated, map, any, oneof, dan nested message. Anda juga akan belajar cara membaca dan menulis Protobuf ke disk dan JSON, menangani schema evolution (forward / backward compatibility), dan memakai tipe data tambahan.Selain itu, Anda akan memperoleh pengalaman langsung dalam coding berbagai jenis API gRPC, termasuk unary, server streaming, client streaming, dan bidirectional streaming. Anda juga akan mempelajari cara menangani status dan error gRPC, menerapkan teknik untuk membuat gRPC API tahan banting seperti timeout, retry, circuit breaker, dan konversi gRPC ke REST API dengan gRPC-REST gateway. Anda juga akan belajar membuat dokumentasi OpenAPI / swagger untuk gRPC.Dengan kata lain, Anda akan memperoleh keterampilan dan pengetahuan praktis yang dapat Anda terapkan dalam pekerjaan,untuk membangun microservice API memakai Protocol Buffers dan gRPC dengan bahasa pemrograman Go.