1m2 GRPC Acquisition System C. Combaret, IPN Lyon For the EU DHCAL collaboration
Grpc present
-
Upload
pham-hai-anh -
Category
Engineering
-
view
88 -
download
3
Transcript of Grpc present
![Page 1: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/1.jpg)
A high performance, open-source
universal RPC framework
![Page 2: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/2.jpg)
WHAT IS RPC
• for distributed computing• coded as (local) procedure call• form of client–server
![Page 3: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/3.jpg)
PROBLEM- remote calls can fail - unpredictable network problems
![Page 4: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/4.jpg)
RUNTIME FLOWclient —> client stub (local) client stub request —> server• packs parameters -> message • send the messageserver process• unpack• call server procedure
server response —> client stubclient stub return —> client
![Page 5: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/5.jpg)
STANDARDLet different clients access servers - platforms, - languages, - projects
![Page 6: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/6.jpg)
STANDARD -INTERFACE DEFINITION
LANGUAGEInterface Definition Language- define interface- use to generate interface code for
- client- server
![Page 7: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/7.jpg)
GRPCSimple service definition
![Page 8: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/8.jpg)
GRPCWorks across languages and platforms
![Page 9: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/9.jpg)
GRPCStart quickly and scale
![Page 10: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/10.jpg)
GRPCBi-directional streaming and integrated auth
![Page 11: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/11.jpg)
TECHNICAL INFO● Based on HTTP/2 today (multiplexed, works with the Internet)● Payload agnostic (implement protobuf)● Streaming & Flow-Controlled● Designed for harsh environments
● timeout, ● load-balancing,● cancellation
● Support in 10 languages & first class mobile support● Layered & Pluggable
● monitoring, ● auth, ● naming, ● load balancing ...
![Page 12: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/12.jpg)
![Page 13: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/13.jpg)
USE CASES
![Page 14: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/14.jpg)
ARCHITECTURE
![Page 15: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/15.jpg)
WITH DNS
![Page 16: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/16.jpg)
LOAD BALANCING
![Page 17: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/17.jpg)
CONCLUSION
gRPC Advantages- Interface Orientation- Efficiency- Support extending
![Page 18: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/18.jpg)
REFERENCES
- [Protobuf language](https://developers.google.com/protocol-buffers/docs/proto3)- [Go protobuf API ref](https://godoc.org/github.com/golang/protobuf/proto)- [Go gen code guide](https://developers.google.com/protocol-buffers/docs/reference/go-generated)- [Encoding Reference](https://developers.google.com/protocol-buffers/docs/encoding)
![Page 19: Grpc present](https://reader035.fdocuments.us/reader035/viewer/2022081419/586fdd321a28ab18428b67bd/html5/thumbnails/19.jpg)