![]() * feat(emqx_conf): move conf manager for emqx_machine to emqx_conf * chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2 * fix: common test failed * fix: badmatch by typo wrong key * fix(emqx_conf): get the wrong core nodes * fix(emqx_conf): get core node's tnx_id not latest tnx_id * fix: add ro_transation when copy conf file * fix: delete debug info * fix: change ekka_rlog to mria_rlog * fix: remove cluster_rpc from emqx_machine. * fix: don't call ekka:start/0 explicitly * fix: ekka should be start in emqx_machine |
||
---|---|---|
.. | ||
docs | ||
etc | ||
include | ||
priv/protos | ||
src | ||
test | ||
.gitignore | ||
README.md | ||
rebar.config |
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
Recommended gRPC Framework
See: https://github.com/grpc-ecosystem/awesome-grpc