EMQ原始碼之 EMQ的啟動

2021-09-12 15:36:00 字數 1702 閱讀 3022

又回到erlang了,使用了一段時間的golang再回到erlang有點那麼的親切感。在專案中也準備用mqtt來做訊息上報,順道就想看下他的**。

ekka:start()

emqttd_sup

|-------->emqttd_ctl 負責從emqttd_ctl命令過來的rpc handler

|-------->emqttd_hooks(hook 函式的處理)

|-------->emqttd_router(各node之間的訊息路由)

|-------->emqttd_pubsub_sup(管理pubsub相關的supervisor)

|-------->emqttd_pool_sup(emqttd_pubsub的supervisor)gproc_pool

|----->emqttd_pubsub_1(worker)

|----->emqttd_pubsub_2(worker)

|-------->emqttd_pool_sup(emqttd_server的supervisor)gproc_pool

|----->emqttd_server_1(worker)

|----->emqttd_server_2(worker)

|--------->emqttd_stats(stats topic相關的統計)

|--------->emqttd_stats(metrics topic相關的統計)

|--------->emqttd_pool_sup(pooler沒看到**用到了這快)gproc_pool

|------->pooler_1(worker)

|------->pooler_2(worker)

|--------->emqttd_sm_sup( session management supervisor)gproc_pool

|------->emqttd_sm_1(worker)

|------->emqttd_sm_2(worker)

|--------->emqttd_ws_client_sup(websocket client supervisor)gproc_pool

|------->emqttd_ws_client_1(worker)

|------->emqttd_ws_client_2(worker)

|--------->emqttd_broker(broker統計相關handler)

|--------->emqttd_alarm(系統alerm相關的handler)

|--------->emqttd_mod_sup(管理外部mod的supervisor)

|--------->emqttd_bridge_sup_sup(bridge supervisor)

|--------->emqttd_access_control(auth/acl相關管理模組)

|--------->emqttd_sysmon_sup(system monitor supervisor)

|-------->emqttd_sysmon(vm system monitor)

register_acl_mod()

start_listener()

之後就開始socket監聽了,等待新的連線到來。

erlang的優勢在於他又一套完善的process 監控系統。具體可以參考這裡, 子程序退出後supervisor會給你自動重啟。

Linux 設定 EMQ 自動啟動

我是使用原始碼安裝,所以需要將啟動檔案新增為服務,從而使伺服器啟動時自動啟動emq 將原始碼安裝目錄下的bin emqttd 複製到 etc init.d 下面 cp home emqttd bin emqttd etc init.d emqttd使用 vim etc init.d emqttd 開...

emq外掛程式開發mysql EMQ的Mysql外掛程式

emq最新版的是emqx3.x.x版本,一如既往的支援mysql認證,這裡專門對mysql認證外掛程式做個研究,寫點總結。本人能力有限,文章不足之處希望及時反饋以免誤導。首先我先描述一下我的應用場景 我要做乙個後台,可以給emq建立客戶端和客戶端的acl,從而實現對emq的終端進行控制。所以選擇了e...

centos6 5 EMQ集群的安裝

簡述 emq集群的安裝 我的安裝環境描述 在第一台機器上解壓,並修改配置檔案 etc emq.conf cluster.name emqcl 集群的名字 cluster.discovery static 靜態的節點列表,發現集群 cluster.static seeds emq1 192 168 0...