dgiot/apps/emqx_exhook
2021-08-26 15:09:28 +08:00
..
docs sysnc 4.3.7 2021-08-16 15:07:42 +08:00
etc add linux_4.3.1 2021-05-18 14:54:48 +08:00
include add linux_4.3.1 2021-05-18 14:54:48 +08:00
priv sysnc 4.3.7 2021-08-16 15:07:42 +08:00
src add dgiot log save to parse 2021-08-26 15:09:28 +08:00
test add linux_4.3.1 2021-05-18 14:54:48 +08:00
.gitignore add linux_4.3.1 2021-05-18 14:54:48 +08:00
README.md add new project 2021-05-22 03:06:00 +09:00
rebar.config fix grpc disconnect 2021-08-20 16:05:42 +08:00

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