emqx/apps/emqx_exhook
Zaiming Shi 0cf8380822 chore(apps): Sync plugins to apps dir
emqx_telemetry from tag v4.2.7
all other apps are from e4.2.4
see sync-apps.sh
2021-02-06 11:42:40 +01:00
..
.github/workflows chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
docs chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
etc chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
include chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
priv chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
src chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
test chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
.gitignore chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
LICENSE chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
Makefile chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
README.md chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
rebar.config chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00
rebar.config.script chore(apps): Sync plugins to apps dir 2021-02-06 11:42:40 +01:00

README.md

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

  • Based on gRPC, it brings a very wide range of applicability
  • 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

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

Thanks