You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An `easy-to-use` platform for creating microservices without complex infrastructure dependencies.
9
-
Only [etcd](https://etcd.io) is required. Out of the box you get service discovery, tracing between
10
-
services and other useful features. [gRPC](https://grpc.io) is used for communication between services.
8
+
An **easy-to-use** platform for building microservices without complex infrastructure dependencies.
9
+
Only [etcd](https://etcd.io) is required. Out of the box, you get service discovery, distributed tracing, and other useful features.
10
+
[gRPC](https://grpc.io) is used for communication between services.
11
11
12
12
## etcd is required
13
13
14
-
If there is no etcd in your infrastructure, you can run it via
14
+
If you don't have etcd in your infrastructure, you can run it via
15
15
[Docker](https://etcd.io/docs/v3.6/op-guide/container/) for testing:
16
16
17
17
```shell
@@ -28,38 +28,98 @@ Just remember that the example above is for testing purposes!
28
28
29
29
## How does it work?
30
30
31
-
All you need to do is assign a name to your server. When it starts, it will automatically select a free port and listen on it (unless you specify otherwise).
32
-
All clients will connect to this server by its name. If there are multiple servers with the same name, load balancing is distributed among them.
31
+
All you need to do is assign a name to your server. When it starts, it automatically selects an available port and listens on it (unless you specify otherwise).
32
+
All clients will connect to this server by its name. If there are multiple server instances with the same name, the load is automatically distributed among them.
33
33
34
34
> In the following code examples, error handling is omitted to improve readability. A pre-built [proto](examples/quickstart/proto) will also be used.
35
35
36
-
First, let's create a new `rpcplatform` instance:
36
+
First, let's create a new `rpcplatform` instance and a new server named `myServerName`, register the implementation of our `Sum` service, and run it on localhost:
Now let's create a new server named `myServerName`, register the implementation of our `Sum` service and run it on localhost (`sumServer` implementation is omitted):
78
+
For the client, we also create a new `rpcplatform` instance and a new client named `myServerName`:
This setup is fully functional: you can add or remove copies of your server and create new clients dynamically.
62
-
But to see our **service graph** and get **telemetry for all gRPC methods**, we need to run containers with telemetry services and enable telemetry in `rpcplatform`.
119
+
120
+
### OpenTelemetry
121
+
122
+
To visualize our **service graph** and get **telemetry for all gRPC methods**, we need to run containers with telemetry services and enable telemetry in `rpcplatform`.
0 commit comments