13 Introduction to gRPC and Protocol Buffers

  Рет қаралды 59,262

Nic Jackson

Nic Jackson

Күн бұрын

Пікірлер: 67
@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 11 ай бұрын
Thanks Evans. Also are you the mathematician evans owamoyo?
@evansowamoyo2612
@evansowamoyo2612 11 ай бұрын
@@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.
@mrmaker101
@mrmaker101 3 жыл бұрын
I’m really happy I found a comprehensive intro to grpc. Thank you!
@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!
@nixkim346
@nixkim346 4 жыл бұрын
This is wonderful! Thank you, I learned a lot :)
@overstandnigeria
@overstandnigeria 4 жыл бұрын
Your voice and tone seems to make the lectures stick . I'm subscribing for that alone. Good work.
@ErickLopes1337
@ErickLopes1337 4 жыл бұрын
Dear Nic, Absolutely loved your channel the way you explain things is great \o/
@miloskovacevic2245
@miloskovacevic2245 2 жыл бұрын
Protect this kind man at all cost!!
@tylerlofgren1775
@tylerlofgren1775 3 жыл бұрын
First video I've seen from you. Excellen and very helpful.
@thestacksdev
@thestacksdev 3 жыл бұрын
Simple and easy to learn Happy I stumbled on this one
@mohsanabbas8787
@mohsanabbas8787 3 жыл бұрын
Thanks for the video. Great explanation on protobuffer and grpc. 🤙🤙🤙🤙👏
@Fomer777
@Fomer777 Жыл бұрын
Amazing content! So easy to comprehend. Thank you so much!
@MarcelTndl
@MarcelTndl 4 жыл бұрын
Excellent work man ! . Regards from Argentina .
@ethashamuddinmohammed1255
@ethashamuddinmohammed1255 4 жыл бұрын
Are you also planning to discuss about deployment of docker containers(go microservices)?
@eleazaryewaharold6197
@eleazaryewaharold6197 4 жыл бұрын
beautiful introduction to grpc
@77loutube
@77loutube 2 жыл бұрын
Sweet and brilliant teaching!
@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
@quant.481
@quant.481 3 жыл бұрын
thanks for these serials, u just make me love more go language. its really amazing language
@seeebeeek1
@seeebeeek1 Жыл бұрын
Great video!
@bulidiriba4598
@bulidiriba4598 2 жыл бұрын
Wonderful as usual!!
@sovrinfo
@sovrinfo Жыл бұрын
Great tutorial. Thanks!
@Almog6k
@Almog6k 3 жыл бұрын
Thank you. Easy explanation.
@MediaEnraged
@MediaEnraged 2 жыл бұрын
this is an amazing video thank you so much
@scottbrown8274
@scottbrown8274 3 жыл бұрын
Great, man! Love your video
@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 3 жыл бұрын
@@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?
@jfrankogramos6620
@jfrankogramos6620 4 жыл бұрын
Thanks a lot from Guatemala
@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
@Terszel
@Terszel 6 ай бұрын
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:.
@oduber.vasquez
@oduber.vasquez 4 жыл бұрын
Great one, thank you!
@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
@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 🚩
@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.
@Michael-ri8sg
@Michael-ri8sg 3 жыл бұрын
I love this series
@codersworld2598
@codersworld2598 4 жыл бұрын
Nic, you're amazing!
@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.
@salahfarzin3554
@salahfarzin3554 2 жыл бұрын
Great, keep going
@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 2 жыл бұрын
Hi, not the expert here, but I am pretty sure you would be handle more requests… quite a bit more actually.
@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?
@TerritorioArgento
@TerritorioArgento 3 жыл бұрын
Muchas gracias por tu aporte muy bueno todo !! saludos
@petereriksson6760
@petereriksson6760 2 жыл бұрын
Great tutorial. Any chance you can walk us through using flatbuffers with gRPC?
@_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?
@ajinkyadeshpande9048
@ajinkyadeshpande9048 3 жыл бұрын
Thanks for this, how can I use grpcurl in python? want to build some utility tool for testing
@rauannurbatyrov7584
@rauannurbatyrov7584 4 жыл бұрын
Great one, thank you. Will you show some client frameworks like React or Angular with grpc?
@seenu9429
@seenu9429 3 жыл бұрын
How to implement client in c++ and server in Go using grpc? Can you please tell me
@wadimjarochowicz6675
@wadimjarochowicz6675 3 жыл бұрын
Will this series be continued ?
@jatinray6765
@jatinray6765 4 жыл бұрын
I really like it
@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
@lucasfernandes3855
@lucasfernandes3855 3 жыл бұрын
great
@abdorootuae
@abdorootuae 10 ай бұрын
i am using bloomrpc to test the grpc it's gui
@XunZhong
@XunZhong 3 жыл бұрын
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.
@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} }
Building Microservices with Go: 14. gRPC Client Connections
33:10
escape in roblox in real life
00:13
Kan Andrey
Рет қаралды 41 МЛН
А ВЫ ЛЮБИТЕ ШКОЛУ?? #shorts
00:20
Паша Осадчий
Рет қаралды 1,9 МЛН
He bought this so I can drive too🥹😭 #tiktok #elsarca
00:22
Elsa Arca
Рет қаралды 47 МЛН
Alat yang Membersihkan Kaki dalam Hitungan Detik 🦶🫧
00:24
Poly Holy Yow Indonesia
Рет қаралды 11 МЛН
Beginners Guide to gRPC in Go!
18:15
TutorialEdge
Рет қаралды 134 М.
Building a Bank with Go
53:22
InfoQ
Рет қаралды 118 М.
Complete Golang and gRPC Microservices (Project Course)
42:02
gRPC Crash Course - Modes, Examples, Pros & Cons and more
1:19:38
Hussein Nasser
Рет қаралды 229 М.
Go + Microservices = Go Kit [I] - Peter Bourgon, Go Kit
38:49
CNCF [Cloud Native Computing Foundation]
Рет қаралды 102 М.
Building an Basic API with gRPC and Protobuf
20:56
Tensor Programming
Рет қаралды 96 М.
escape in roblox in real life
00:13
Kan Andrey
Рет қаралды 41 МЛН