2021-05-18 14:54:48 +08:00
|
|
|
# emqx_exhook
|
|
|
|
|
|
|
|
The `emqx_exhook` extremly enhance the extensibility for EMQ X. It allow using an others programming language to mount the hooks intead of erlang.
|
|
|
|
|
|
|
|
## Feature
|
|
|
|
|
|
|
|
- [x] Based on gRPC, it brings a very wide range of applicability
|
|
|
|
- [x] Allows you to use the return value to extend emqx behavior.
|
|
|
|
|
|
|
|
## Architecture
|
|
|
|
|
|
|
|
```
|
|
|
|
EMQ X Third-party Runtime
|
|
|
|
+========================+ +========+==========+
|
|
|
|
| ExHook | | | |
|
|
|
|
| +----------------+ | gRPC | gRPC | User's |
|
|
|
|
| | gPRC Client | ------------------> | Server | Codes |
|
|
|
|
| +----------------+ | (HTTP/2) | | |
|
|
|
|
| | | | |
|
|
|
|
+========================+ +========+==========+
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
### gRPC service
|
|
|
|
|
|
|
|
See: `priv/protos/exhook.proto`
|
|
|
|
|
|
|
|
### CLI
|
|
|
|
|
|
|
|
## Example
|
|
|
|
|
|
|
|
## Recommended gRPC Framework
|
|
|
|
|
2021-05-22 02:06:00 +08:00
|
|
|
See: https://github.com/grpc-ecosystem/awesome-grpc
|
2021-05-18 14:54:48 +08:00
|
|
|
|
|
|
|
## Thanks
|
|
|
|
|
2021-05-22 02:06:00 +08:00
|
|
|
- [grpcbox](https://github.com/tsloughter/grpcbox)
|