emqx/apps/emqx_exhook
Zaiming (Stone) Shi 036266769c docs: add more schema desc 2022-03-25 10:52:58 +01:00
..
docs chore: rename EMQX Broker to just EMQX 2022-02-19 12:51:34 +01:00
etc chore(conf): EMQ X -> EMQX in conf files 2022-02-16 17:50:41 +01:00
include fix(exhook): use emqx_hook_metrics to count hook call information 2022-03-22 16:59:49 +08:00
priv/protos docs: fix typos 2022-01-27 12:29:38 +01:00
src docs: add more schema desc 2022-03-25 10:52:58 +01:00
test refactor: move api `top` -> `front`, `bottom` -> `rear` 2022-03-15 10:28:46 +08:00
.gitignore refactor(exhook): adapt to the hocon schmea 2021-08-03 14:06:58 +08:00
README.md docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
rebar.config chore(mix): simplify build by using rebar3 for umbrella apps 2021-12-22 09:40:01 -03:00

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

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

Thanks