justforfunc #31: gRPC Basics

  Рет қаралды 42,955

justforfunc: Programming in Go

justforfunc: Programming in Go

Күн бұрын

Пікірлер: 48
@JustForFunc
@JustForFunc 6 жыл бұрын
For those wondering what was going on with the context package not being fully compatible, turns out I have an old version of the package vendored in the justforfunc repo!
@1022sato
@1022sato 6 жыл бұрын
Excellent tutorial! :) Can you do a tutorial on a browser frontend (html/javascript) talking to Go backend in gRPC? It doesn't seem to be as easy as it sounds.
@rahidehzani
@rahidehzani 6 жыл бұрын
I have seen all of your videos in this channel (many times) and I wanna say, Thanks. You are so good at what you do as professional. I appreciate it.
@jack-d2e6i
@jack-d2e6i 6 жыл бұрын
An example of generating an HTTP API​ from protobuf definitions sounds really cool!
@harshthakur7215
@harshthakur7215 4 жыл бұрын
Yes!! Bidirectional streaming would be cool to watch
@Techtter
@Techtter 4 жыл бұрын
gRPC is a game changer in microservices world, all the companies going to adapt it very soon. Its time to say good bye to REST-JSON. Instead go with gRPC-Protobuf. I made a complete gRPC Java Course, Check it out for FREE Complete Course on my channel. #techtter
@tunedmystic1
@tunedmystic1 6 жыл бұрын
1) Click video 2) Click like button 3) Actually watch the video Awesome stuff Francesc! 👍
@ruiztulio
@ruiztulio 6 жыл бұрын
I just started to watch your videos today (like 7 in a row) I'd love to see gRpc auth or testing as someone sugested, but all I've watched so far are great videos
@TheMegaMrMe
@TheMegaMrMe 6 жыл бұрын
great stuff. gRPC was all over kubecon the past editions. it's good to find this info in video form. I am definitely interested in security around it. TLS and authentication or whatever else exists.
@maximyefremov9718
@maximyefremov9718 6 жыл бұрын
thanks a lot for your videos. Both topics you suggested at the end are very interesting for future episodes: bidirectional grpc streaming and exposing grpc as http.
@richdobbs6595
@richdobbs6595 5 жыл бұрын
Thanks for this information. I'm new to Go, but this process doesn't seem very Go-like, and seems to be begging for better tooling. Rather than developing the definition in the Proto Buffers IDL, it seems like it should be possible to write your remote process as a simple goroutine, and then when you want to deploy it, to generate the IDL from the interface to the goroutine's invocation, channels, and access to global variables. Then have a library call that takes in the goroutine and instead of running it locally runs it remotely. The Go language's strong point is being able to simply handle concurrency. Remote procedure calls are just concurrency running across the network. But it seems like this is just reintroducing older styles of dealing with concurrency, rather than relying on the language and run time.
@AltianoGerung
@AltianoGerung 4 жыл бұрын
Great content, Want to ask you opinion about whether interface in golang should have prefix "I" or something, I see many people, including me, not intuitively know if variable already a pointer or not
@soundharnatarajan5118
@soundharnatarajan5118 5 жыл бұрын
Can you implement a microservice architecture with grpc!
@Techtter
@Techtter 4 жыл бұрын
gRPC is a game changer in microservices world, all the companies going to adapt it very soon. Its time to say good bye to REST-JSON. Instead go with gRPC-Protobuf. I made a complete gRPC Java Course, Check it out for FREE Complete Course on my channel. #techtter
@vitoroliveira6170
@vitoroliveira6170 4 жыл бұрын
A cool thing to add in a response is a field called responseCode or just code, as an int32. Example: message Response { int32 code = 1; ... } In the server, you can use the grpc codes to return a status, like return int32(codes.Ok), nil or any code that is in the package. In your client, you can check if the res.getCode() != int32(codes.Ok) || err != nil, to check if everything was computed as expected or not.
@g.l.k8219
@g.l.k8219 6 жыл бұрын
I'm new to gRPC coming from websockets using crossbar.io and Im trying to understand a couple things. If gRPC multiplexes over a single tcp connection how do you create the server to actually accomplish that single connection when using micro services and a front end web client? Every example I can find has each service acting as its own server, for example lets say we have an auth service and a todo service both completely separate and independent. Does this mean that in my web client I need to first connect to the auth service, close the connection then connect to the todo service? Do I connect to paths e.g. localhost:8888/auth localhost:888/todo Or do I need to implement some sort of gRPC router which the services and web clients connect to?
@polyglotdev
@polyglotdev 6 жыл бұрын
On first authentication the client should obtain a token that allows it to access any service which accept the token. The client should just contact the auth server just once.
@jamesbnz
@jamesbnz 6 жыл бұрын
Great episode as always! As Ideas for next episodes can I suggest 1 - Testing - What is a good approach for testing a client server project like this? 2 - Concurrently/Race Detection - I'm assuming that with no locking on your database file, multiple clients could easily cause corruption when adding tasks on this server? Can you use the race detector to help debug something like this? What code changes would be needed to prevent this corruption?
@Goodvvine
@Goodvvine 6 жыл бұрын
what do you not like about gRPC, and how do you deal with it?
@alfredogallegos9782
@alfredogallegos9782 6 жыл бұрын
I mean personally I think there's not much to dislike and it's pretty efficient and convenient as a whole but I'm also interested in his opinion.
@Alexyslozada
@Alexyslozada 6 жыл бұрын
Hacerlo por HTTP significa que no se requiere crear el net.Listener? Esa sería la única ventaja?
@JustForFunc
@JustForFunc 6 жыл бұрын
HTTP tiene listener tambien, lo veas o no La ventaja aquí es que el protocolo tiene tipos, es compatible de manera binaria, y se pueden aumentar versiones sin problema
@bking1007
@bking1007 6 жыл бұрын
Authentication in GRPC idea ?
@theyruinedyoutubeagain
@theyruinedyoutubeagain 6 жыл бұрын
gRPC has built in TLS authentication grpc.io/docs/guides/auth.html
@bking1007
@bking1007 6 жыл бұрын
That is true and is what I am using. Just think Francis has a knack for clarifying things and I think it would be nice if he gave authentication the same treatment.
@JustForFunc
@JustForFunc 6 жыл бұрын
*Francesc 😊
@bking1007
@bking1007 6 жыл бұрын
Woops sorry. Well I guess that is my request down the drain. ;)
@kjsteuer
@kjsteuer 6 жыл бұрын
What is the magic project where you can also serve the REST API for free?
@viniciusabreu3288
@viniciusabreu3288 6 жыл бұрын
24:30 - TaskOverflow
@s.iliev.21
@s.iliev.21 6 жыл бұрын
Is this a Sal Vulcano from Jokers ?
@Gerald-iz7mv
@Gerald-iz7mv 6 жыл бұрын
cool content, could you make one video about tensorflow with go?
@mallikarjunaavuluri5191
@mallikarjunaavuluri5191 6 жыл бұрын
Great videos
@hopegolestany2590
@hopegolestany2590 5 жыл бұрын
Thanks!
@tomochaaan123
@tomochaaan123 6 жыл бұрын
THIS IS SO EASY TO UNDERSTAND! THANK YOU!!!!
@kamilmazurek6070
@kamilmazurek6070 6 жыл бұрын
Would you say gRPC could replace REST ?
@JulienHayotte
@JulienHayotte 6 жыл бұрын
It's another type of transport. You can have both at the same time with different ports.
@JustForFunc
@JustForFunc 6 жыл бұрын
you can easily get REST for free with gRPC gRPC is faster so some Google APIs such as BigTable only provide gRPC, while others provide REST as an alternative directly on gRPC
@JulienHayotte
@JulienHayotte 6 жыл бұрын
grpc-gateway is a way of getting REST over GRPC for free.
@JustForFunc
@JustForFunc 6 жыл бұрын
yes
@iharsuvorau3883
@iharsuvorau3883 6 жыл бұрын
expose, please, as HTTP with gRPC for free with magic! would be great by the way
@Techtter
@Techtter 4 жыл бұрын
gRPC is a game changer in microservices world, all the companies going to adapt it very soon. Its time to say good bye to REST-JSON. Instead go with gRPC-Protobuf. I made a complete gRPC Java Course, Check it out for FREE Complete Course on my channel. #techtter
@Oswee
@Oswee 6 жыл бұрын
Tnx for sharing. But... little bit hard to follow.
@code_stank
@code_stank 6 жыл бұрын
Stream on twwiiittttch I'll follow and troll and everything
@АлександрКостюченко-у4х
@АлександрКостюченко-у4х 3 жыл бұрын
Hello. I'm Russian. Can you please speak some slowly for not english people please
justforfunc #30: The Basics of Protocol Buffers
28:31
justforfunc: Programming in Go
Рет қаралды 46 М.
justforfunc #37: sync.Pool from the pool
27:11
justforfunc: Programming in Go
Рет қаралды 17 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
using numbers in your code is bad
14:33
Low Level
Рет қаралды 151 М.
gRPC Crash Course - Modes, Examples, Pros & Cons and more
1:19:38
Hussein Nasser
Рет қаралды 241 М.
Compiled Python is FAST
12:57
Doug Mercer
Рет қаралды 125 М.
Building an Basic API with gRPC and Protobuf
20:56
Tensor Programming
Рет қаралды 97 М.
Clean Code is SLOW But REQUIRED? | Prime Reacts
28:22
ThePrimeTime
Рет қаралды 338 М.
justforfunc #19: mastering io.Pipes
41:24
justforfunc: Programming in Go
Рет қаралды 34 М.
The BEST gRPC Framework for Golang
13:46
Melkey
Рет қаралды 11 М.
shocking end 🥴🤯 LeoNata family #shorts TikTok
0:54
LeoNata Family
Рет қаралды 41 МЛН
BIP HOUSE  .бип хаус 🥰🏡  #shorts
0:13
bip_house
Рет қаралды 1,2 МЛН
SH - Anh trai & Em gái || Brother & Sister #shorts
0:58
Su Hao
Рет қаралды 48 МЛН