13 Introduction to gRPC and Protocol Buffers

  Рет қаралды 60,427

Nic Jackson

Nic Jackson

Күн бұрын

Пікірлер: 68
@evansowamoyo2612
@evansowamoyo2612 2 жыл бұрын
13th June 2022, the gRPC has changed a bit. The generated code for services and messages are now in separate folders ending with _grpc.pb.go and .pb.go respectively. Also, 1. At the top of the proto file you need: `option go_package="/currency";` 2. The command for generation can now be something like this: `protoc -I protos/ --go_out=. --go-grpc_out=. protos/currency.proto`
@albert.h79
@albert.h79 2 жыл бұрын
Thank you for the help!
@Lampalot
@Lampalot 2 жыл бұрын
I was going to mention this as well, nice to see someone got there before me :D
@ozmosan
@ozmosan Жыл бұрын
Couple of additional things: Currency struct should be changed to this: type Currency struct { log hclog.Logger protos.UnimplementedCurrencyServer } and also implement this func as well: func (c *Currency) mustEmbedUnimplementedCurrencyServer() {}
@joshuaetim3279
@joshuaetim3279 Жыл бұрын
Thanks Evans. Also are you the mathematician evans owamoyo?
@evansowamoyo2612
@evansowamoyo2612 Жыл бұрын
@@joshuaetim3279 Yes
@jonathoncronin5555
@jonathoncronin5555 4 жыл бұрын
Great video, I was able to utilize this for my first GRPC concept build. Really I'm just a hobbyist but I appreciated the method of your approach. Too often people don't take the time to explain the fundamentals of things first (explanation on proto was perfect). If I had time to read the entire documentation I wouldn't be looking for a youtube video to jumpstart me.
@abhikbanerjee3719
@abhikbanerjee3719 2 жыл бұрын
The tutorials are great, the voice is even better... Kind of like one of those story narrator voices. Keep up the good work mate!
@Terszel
@Terszel 8 ай бұрын
Another change is that proto grpc now requires generated servers to have forward compatibility. To fix the error, add protos.Unimplemented*Server to your struct (no field name needed) and also add in your constructor. Or, you can opt out of forward compatibility by adding protos.Unsafe*Server instead, or change your protoc to have this command: --go-grpc_out=require_unimplemented_servers=false:.
@mrmaker101
@mrmaker101 3 жыл бұрын
I’m really happy I found a comprehensive intro to grpc. Thank you!
@overstandnigeria
@overstandnigeria 4 жыл бұрын
Your voice and tone seems to make the lectures stick . I'm subscribing for that alone. Good work.
@ethashamuddinmohammed1255
@ethashamuddinmohammed1255 4 жыл бұрын
Are you also planning to discuss about deployment of docker containers(go microservices)?
@nopestack
@nopestack 4 жыл бұрын
Hey Nick, if you put a full IP address and a port on Go's listeners, you avoid making the firewall jump everytime you run a server
@ErickLopes1337
@ErickLopes1337 4 жыл бұрын
Dear Nic, Absolutely loved your channel the way you explain things is great \o/
@thestacksdev
@thestacksdev 3 жыл бұрын
Simple and easy to learn Happy I stumbled on this one
@eleazaryewaharold6197
@eleazaryewaharold6197 4 жыл бұрын
beautiful introduction to grpc
@tylerlofgren1775
@tylerlofgren1775 3 жыл бұрын
First video I've seen from you. Excellen and very helpful.
@Fomer777
@Fomer777 2 жыл бұрын
Amazing content! So easy to comprehend. Thank you so much!
@MarcelTndl
@MarcelTndl 4 жыл бұрын
Excellent work man ! . Regards from Argentina .
@obeydadjeffal4442
@obeydadjeffal4442 4 жыл бұрын
awesome video, one little detail: for me when i followed the steps i had `Base`, `Destination` and `Rate` in json (PascalCase instead of lowercase) also, i don't have the `[json_name = "xxxxx"]` part when i describe a message. tested it today
@knabbagluon
@knabbagluon 4 жыл бұрын
message RateRequest { // Base is the base currency code for the rate string Base = 1 [json_name = "base"]; // Destination is the destination currency code for the rate string Destination = 2 [json_name = "destination"]; } With this it works. I don't know why he doesn't have to write it. I will find out eventually.
@nixkim346
@nixkim346 4 жыл бұрын
This is wonderful! Thank you, I learned a lot :)
@mohsanabbas8787
@mohsanabbas8787 4 жыл бұрын
Thanks for the video. Great explanation on protobuffer and grpc. 🤙🤙🤙🤙👏
@quant.481
@quant.481 4 жыл бұрын
thanks for these serials, u just make me love more go language. its really amazing language
@miloskovacevic2245
@miloskovacevic2245 3 жыл бұрын
Protect this kind man at all cost!!
@JustMe20132
@JustMe20132 4 жыл бұрын
Great job. You always are a creative programmer Can you talk about Avro vs gRPC Can you show us how to use Istio with gRPC in building microservices
@petereriksson6760
@petereriksson6760 3 жыл бұрын
Great tutorial. Any chance you can walk us through using flatbuffers with gRPC?
@ericb252
@ericb252 3 жыл бұрын
Such a great series!!! If we were to rewrite REST APIs with grpc would we theoretically be able to handle the same number of concurrent connections? More or less? How does this scale as a REST replacement?
@petereriksson6760
@petereriksson6760 3 жыл бұрын
Hi, not the expert here, but I am pretty sure you would be handle more requests… quite a bit more actually.
@kudoamv
@kudoamv 4 жыл бұрын
hmmm.... Make a tutorial in which two microservices talk to each other using grpc and protocol buffers. Use both client and server streaming at the same time. It should be fun.
@NicJackson
@NicJackson 4 жыл бұрын
That is coming :), I will be looking at gRPC clients this week and bi-directional streaming in the next episode
@77loutube
@77loutube 3 жыл бұрын
Sweet and brilliant teaching!
@rauannurbatyrov7584
@rauannurbatyrov7584 4 жыл бұрын
Great one, thank you. Will you show some client frameworks like React or Angular with grpc?
@sovrinfo
@sovrinfo Жыл бұрын
Great tutorial. Thanks!
@Almog6k
@Almog6k 3 жыл бұрын
Thank you. Easy explanation.
@aofadero
@aofadero 3 жыл бұрын
Hi Nic, great tutorial. Grpccurl looks like a useful tool to quickly test, however for production code one would still need to write structured unit tests. Do you have any tutorials on that?
@MediaEnraged
@MediaEnraged 2 жыл бұрын
this is an amazing video thank you so much
@lukcba
@lukcba 4 жыл бұрын
Muchas gracias por tu aporte muy bueno todo !! saludos
@bulidiriba4598
@bulidiriba4598 2 жыл бұрын
Wonderful as usual!!
@jfrankogramos6620
@jfrankogramos6620 4 жыл бұрын
Thanks a lot from Guatemala
@seeebeeek1
@seeebeeek1 Жыл бұрын
Great video!
@ajinkyadeshpande9048
@ajinkyadeshpande9048 3 жыл бұрын
Thanks for this, how can I use grpcurl in python? want to build some utility tool for testing
@anassidrissi2650
@anassidrissi2650 Жыл бұрын
19th April 2023, you need to add "UnimplementedCurrencyServer" to the Currency struct for forward compatibility : type Currency struct { protos.UnimplementedCurrencyServer log hclog.Logger } func NewCurrency(l hclog.Logger) *Currency { return &Currency{log: l} }
@UswatunHasanah-bp2fv
@UswatunHasanah-bp2fv 4 жыл бұрын
Great tutorial. Thank you, Nic!
@NicJackson
@NicJackson 4 жыл бұрын
Thank you, please let me know if there is a specific topic you would like me to cover.
@UswatunHasanah-bp2fv
@UswatunHasanah-bp2fv 4 жыл бұрын
@@NicJackson Hi Nic, sorry for my late response. I know you are busy with your new book, but when you have time, i hope you make another tutorial about Envoy Proxy for gRPC and ReactJs. Thank you Nic. Btw, when will your new book be released?
@_asimaslam
@_asimaslam 4 жыл бұрын
You should demo Micro next ;)
@NicJackson
@NicJackson 4 жыл бұрын
That is a great idea, if I ran a stream next week would you like to come on as a guest?
@scottbrown8274
@scottbrown8274 3 жыл бұрын
Great, man! Love your video
@evans8245
@evans8245 4 жыл бұрын
okei, it breaks my heart when intellisense fails in your .proto file, when generating go modules, you can write `option go_package = "";` some where else in your project you can call stuff from that package. .MyStruct.
@wadimjarochowicz6675
@wadimjarochowicz6675 3 жыл бұрын
Will this series be continued ?
@salahfarzin3554
@salahfarzin3554 2 жыл бұрын
Great, keep going
@seenu9429
@seenu9429 3 жыл бұрын
How to implement client in c++ and server in Go using grpc? Can you please tell me
@yeezyyxy2259
@yeezyyxy2259 3 жыл бұрын
Has there been some large change in the golang grpc package since the time this video was made? I used the command "protoc --go-grpc_out=. path/to/file.proto" to generate my currency_grpc.pb.go file and it looks drastically different than yours.
@yeezyyxy2259
@yeezyyxy2259 3 жыл бұрын
Only difference I made in my code was adding in the line "option go_package = "./currency"; " since it seems to be required now
@yeezyyxy2259
@yeezyyxy2259 3 жыл бұрын
This is the most I have ever struggled getting something to work. I'm about to just go back to c#. Go package/tooling management is unbearable.
@evansowamoyo2612
@evansowamoyo2612 2 жыл бұрын
@@yeezyyxy2259 Same, I'm going back to Spring Boot, it's the external methods for me. It makes all the functions of a struct or the interfaces it implements difficult to track and that's a 🚩
@oduber.vasquez
@oduber.vasquez 4 жыл бұрын
Great one, thank you!
@codersworld2598
@codersworld2598 4 жыл бұрын
Nic, you're amazing!
@revanth9502
@revanth9502 3 жыл бұрын
Getting error while passing the data through terminal grpcurl --plaintext -d ' { "base" : "INR" , "destination" : "Usd" }' localhost:9092 Currency.RateRequest and error like invalid character b looking for beginning of object key string
@abdorootuae
@abdorootuae Жыл бұрын
i am using bloomrpc to test the grpc it's gui
@Michael-ri8sg
@Michael-ri8sg 3 жыл бұрын
I love this series
@lucasfernandes3855
@lucasfernandes3855 4 жыл бұрын
great
@jatinray6765
@jatinray6765 4 жыл бұрын
I really like it
@XunZhong
@XunZhong 4 жыл бұрын
gs, cs are encrypted variable names, not ideal...
@donaldfrench3696
@donaldfrench3696 4 жыл бұрын
I love your training, however, I hat the dark color. It is very hard to read on an iPad. Please us lite style. Thank you.
Building Microservices with Go: 14. gRPC Client Connections
33:10
2024 gRPC Golang Tutorial - The tutorial I wish I had when I was learning
32:10
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 88 МЛН
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
This Game Is Wild...
00:19
MrBeast
Рет қаралды 128 МЛН
Build a gRPC server with Go - Step by step tutorial
26:34
Maximilien Andile
Рет қаралды 40 М.
Что такое RPC и gRPC за 10 минут
11:01
Listen IT
Рет қаралды 74 М.
gRPC Crash Course - Modes, Examples, Pros & Cons and more
1:19:38
Hussein Nasser
Рет қаралды 235 М.
Introduction to microservices (Ep. 1)
39:21
Nic Jackson
Рет қаралды 257 М.
Beginners Guide to gRPC in Go!
18:15
TutorialEdge
Рет қаралды 139 М.
Основы gRPC в Go - Микросервисы, как в BigTech
1:16:05
Golang by Rebrain: Go и GRPC
1:43:59
REBRAIN
Рет қаралды 2,7 М.