Rpc Configuration
This document is for rpc configuration in zero system. You can configure current zero instance as two Rpc roles: Server/Client, Rpc require micro service environment instead of standalone, it means that you must read this document first: 2.3 - Micro Service Environment .
1. Rpc Server
You can configure rpc server in vertx-server.yml
directly, it's not needed to create new configuration files.
You can add new node of type=ipc
IPC ( Internal Process Calling ) instead of http
, Here are some additional
configuration info of rpc to enable SSL.
- ssl: Whether enable SSL communication with Rpc
- type: Here are three types of SSL, please refer gRpc/vertx document to see more details of the types:
- JKS
- PKCS12
- PEM
2. Rpc Client
Rpc client configuration must be configured standalone. Here are the comments:
In your vertx.yml
configuration up.god.file, you must extend another lime
node as following:
Then you must create new up.god.file vertx-rpc.yml
with following content:
Please be careful about the attributes uniform
and extension
it's the same except following:
- The system will scan all client configuration under extension by name setted first. For example the target name
is
up-ceous
, you must set {name} toup-ceous
, then when current service communicate with up-ceous service, the client configuration will use it under extension instead of uniform. - If there is no configuration under extension, the uniform configuration will be used. uniform just like default client configuration.
This configuration up.god.file is only used in SSL mode.
3. SSL Configuraiton ( Examples )
Here are some examples of Rpc SSL configuration.
## vertx-server.yml
# Rpc Server with PEM ( OpenSSLEngine )
- name: ipc-cronus
type: ipc
config:
port: 6883
host: 0.0.0.0
ssl: true
type: PEM
cert: tlk/server-cert.pem
key: tlk/server-key.pem
# Rpc Server with Jsk ( JSKEngine )
- name: ipc-cronus
type: ipc
config:
port: 6883
host: 0.0.0.0
ssl: true
type: JKS
jsk: tlk/server-key.jks
password: wibble