DDDHuang e517b41a4d fix(api): desc & remove useless api 3 лет назад
..
docs 1be3eb1446 chore: rename EMQX Broker to just EMQX 4 лет назад
etc b3d9605722 chore(conf): EMQ X -> EMQX in conf files 4 лет назад
include e83357895c refactor(exhook): move command use macro 4 лет назад
priv fc92e4c8bf docs: fix typos 4 лет назад
src e517b41a4d fix(api): desc & remove useless api 3 лет назад
test 02ed2148d7 refactor: move api `top` -> `front`, `bottom` -> `rear` 4 лет назад
.gitignore 879c191e41 refactor(exhook): adapt to the hocon schmea 4 лет назад
README.md 667d66eb1e docs(README): EMQ X -> EMQX 4 лет назад
rebar.config 34d6dbca61 chore(mix): simplify build by using rebar3 for umbrella apps 4 лет назад

README.md

emqx_exhook

The emqx_exhook extremely enhance the extensibility for EMQX. It allow using an others programming language to mount the hooks instead of erlang.

Feature

  • Based on gRPC, it brings a very wide range of applicability
  • Allows you to use the return value to extend emqx behavior.

Architecture

EMQX                                      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

See: https://github.com/grpc-ecosystem/awesome-grpc

Thanks