Update slides

This commit is contained in:
JasterV 2025-06-15 17:56:29 +02:00
commit c1a4f08938

View file

@ -12,10 +12,7 @@ Remote Procedure Calls.
An idea to extend transfer of control and transmission of data from one machine to another. An idea to extend transfer of control and transmission of data from one machine to another.
<a style="font-size: 20px;" href="http://birrell.org/andrew/papers/ImplementingRPC.pdf"> [http://birrell.org/andrew/papers/ImplementingRPC.pdf](http://birrell.org/andrew/papers/ImplementingRPC.pdf)
http://birrell.org/andrew/papers/ImplementingRPC.pdf
</a>
note: note:
@ -35,11 +32,10 @@ Things were shared in plain non secured text.
[1] WHITE, J. E. A high-level framework for network-based resource sharing. In Proc. National Computer Conference, (June 1976). [1] WHITE, J. E. A high-level framework for network-based resource sharing. In Proc. National Computer Conference, (June 1976).
--- ---
![image](assets/images/rpc_architecture.png)
<a style="font-size: 20px;" href="http://birrell.org/andrew/papers/ImplementingRPC.pdf"> <img alt="RPC implementation" src="assets/images/rpc_architecture.png" style="width: 60%;" />
http://birrell.org/andrew/papers/ImplementingRPC.pdf
</a> [http://birrell.org/andrew/papers/ImplementingRPC.pdf](http://birrell.org/andrew/papers/ImplementingRPC.pdf)
note: note:
@ -68,17 +64,11 @@ service PhoneService {
} }
``` ```
<p style="font-size: 26px;">
Codegen tools will generate gRPC stubs from IDL code Codegen tools will generate gRPC stubs from IDL code
</p>
<p style="font-size: 26px;">
An example of Thrift, an IDL used in Facebook's RPC framework An example of Thrift, an IDL used in Facebook's RPC framework
</p>
<a style="font-size: 20px;" href="https://github.com/facebook/fbthrift"> [https://github.com/facebook/fbthrift](https://github.com/facebook/fbthrift)
https://github.com/facebook/fbthrift
</a>
note: note:
@ -97,9 +87,7 @@ In the paper mentioned above, they wrote the interface using the Mesa interface
*gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment.* *gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment.*
<a style="font-size: 26px;" href="https://grpc.io/"> [https://grpc.io/](https://grpc.io/)
https://grpc.io/
</a>
note: note:
@ -156,9 +144,7 @@ Key-value pairs of data used to provide additional information about a call.
Implemented using HTTP/2 headers. Implemented using HTTP/2 headers.
<a style="font-size: 20px;" href="https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md"> [https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md)
https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md
</a>
note: note:
@ -295,9 +281,7 @@ note:
- **Editor integration** - **Editor integration**
- And more! - And more!
<a style="font-size: 20px;" href="https://buf.build/product/cli"> [https://buf.build/product/cli](https://buf.build/product/cli)
https://buf.build/product/cli
</a>
note: note:
@ -305,26 +289,24 @@ Explain that it builds on top of protoc. Be very short here, just mention the to
--- ---
## gRPC in the Rust ecosystem # gRPC in the Rust ecosystem
<img alt="grpc" src="assets/images/grpc-logo.png" style="width: 200px;" /> <img alt="grpc" src="assets/images/grpc-logo.png" style="width: 300px;" />
:heart: :heart:
<img alt="rust logo" src="assets/images/rust.svg" style="width: 100px;" /> <img alt="rust logo" src="assets/images/rust.svg" style="width: 300px;" />
--- ---
# Tonic # Tonic
<img alt="tonic logo" src="assets/images/tonic.svg" style="width: 150px;" /> <img alt="tonic logo" src="assets/images/tonic.svg" style="width: 200px;" />
*A gRPC over HTTP/2 rust implementation focused on high performance, interoperability, and flexibility* *A gRPC over HTTP/2 rust implementation focused on high performance, interoperability, and flexibility*
<a style="font-size: 24px;" href="https://github.com/hyperium/tonic"> [https://github.com/hyperium/tonic](https://github.com/hyperium/tonic)
https://github.com/hyperium/tonic
</a>
note: note:
@ -491,9 +473,7 @@ let svc = PolicyManagementServiceServer::with_interceptor(
Tonic provides a health check service implementing a standard gRPC health checking protocol. Tonic provides a health check service implementing a standard gRPC health checking protocol.
<a style="font-size: 20px;" href="https://github.com/grpc/grpc/blob/master/doc/health-checking.md"> [https://github.com/grpc/grpc/blob/master/doc/health-checking.md](https://github.com/grpc/grpc/blob/master/doc/health-checking.md)
https://github.com/grpc/grpc/blob/master/doc/health-checking.md
</a>
note: note:
@ -516,13 +496,9 @@ service Health {
} }
``` ```
<p style="font-size: 28px;">
This definition is provided by the official gRPC docs, each language runtime might implement it or not. This definition is provided by the official gRPC docs, each language runtime might implement it or not.
</p>
<a style="font-size: 20px;" href="https://github.com/grpc/grpc/blob/master/doc/health-checking.md"> [https://github.com/grpc/grpc/blob/master/doc/health-checking.md](https://github.com/grpc/grpc/blob/master/doc/health-checking.md)
https://github.com/grpc/grpc/blob/master/doc/health-checking.md
</a>
--- ---
## Enabling the health service ## Enabling the health service
@ -631,7 +607,7 @@ Timeout -> SSRHL -> Tracing -> SSRHL -> Auth -> Starsky service
## Building a layered service ## Building a layered service
<img alt="tower" src="assets/images/layers-diagram.svg" style="max-width: 45%;" /> <img alt="tower" src="assets/images/layers-diagram.svg" style="max-width: 35%;" />
--- ---
Now let's dive into real middleware implementations Now let's dive into real middleware implementations
@ -967,6 +943,6 @@ It is this simple :)
--- ---
## Thank you for your time # Thank you for your time
:heart: :heart: