emqx/apps/emqx_exhook
Ilya Averyanov c9a0c37dbb style(behaviour attrs): unify behaviour declarations 2021-10-27 21:47:59 -07:00
..
docs feat: make mix release works 2021-08-11 00:49:15 -07:00
etc refactor(config): replace all ':' with '=' in the *.conf (#5531) 2021-08-19 19:57:42 +08:00
include feat: make mix release works 2021-08-11 00:49:15 -07:00
priv/protos feat: make mix release works 2021-08-11 00:49:15 -07:00
src emqx_conf (#5939) 2021-10-27 21:47:59 -07:00
test style(behaviour attrs): unify behaviour declarations 2021-10-27 21:47:59 -07:00
.gitignore feat: sync with master 2021-09-12 15:32:03 -07:00
README.md feat: make mix release works 2021-08-11 00:49:15 -07:00
mix.exs feat: patch after merge master branch 2021-10-17 21:04:46 -07:00
rebar.config feat: make mix release works 2021-08-11 00:49:15 -07: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