Zaiming (Stone) Shi a5f6e94467 docs: EMQ X -> EMQX 4 rokov pred
..
docs a5f6e94467 docs: EMQ X -> EMQX 4 rokov pred
etc 66f69e7693 feat(exhook): make request_failed_action working 4 rokov pred
include 6354e75626 chore: update copyrights 4 rokov pred
priv 66f69e7693 feat(exhook): make request_failed_action working 4 rokov pred
src 66f69e7693 feat(exhook): make request_failed_action working 4 rokov pred
test 66f69e7693 feat(exhook): make request_failed_action working 4 rokov pred
.gitignore 2fda0a1565 chore(apps): Sync again all apps 5 rokov pred
README.md e09e5673eb docs(README): EMQ X -> EMQX 4 rokov pred
rebar.config 60e830fef7 chore(ex): update grpc to 0.6.3 4 rokov pred

README.md

emqx_exhook

The emqx_exhook extremly enhance the extensibility for EMQX. It allow using an others programming language to mount the hooks intead 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