本應用示例使用Coolpy7做爲Mqtt服務器並啓用Websocket代理完美支持高併發大流量即時經過能力,本示以即時通訊聊天爲爲例。還能夠應用到其餘軟件應用如:網頁客服系統、網站信息通知、網頁即時通訊系統、網頁遊戲等等html
技術應用架構簡介前端
系統架構包括:linux
安裝並運行git
運行Coolpy7核心服務github
Coolpy7核心服務是一個最原始最單純功能完備的MQTT消息服務器端,包括功能有:QoS:0,QoS1,QoS2消息質量支持。Will消息支持等等。深刻了解 https://mcxiaoke.gitbooks.io/mqtt-cn/content/web
經過ssh進入服務器192.168.200.201,並確保你已經按照 https://coolpy7.gitbook.io/coolpy7book/kai-shi-shi-yong/start 配置服務器操做系統的網絡優化配置。數據庫
Coolpy7核心服務運行後會自行構當前目錄下的data文件夾,此文件夾存放MQTT運行期所需求持久化的數據信息,使用的是開源項目 https://github.com/jacoblai/yiyidb,支持10億級秒op的高性能數據庫,數據庫內核使用的是Leveldb技術。服務器
# 下載服務器端
git clone https://github.com/Coolpy7/Coolpy7.git && cd Coolpy7
# 解壓文件
unzip go_build_Coolpy7_go_linux.zip
# 提權
chmod -R 777 go_build_Coolpy7_go_linux
# 啓動Coolpy7 啓動參數
# l 當前服務Host地址 (默認爲:1883即本地1883端口,此參數通常默認便可,無需配置)
# a 鏈接接入調度器最大線程,此值可防止暴力鏈接攻擊,對已鏈接客戶端進行優先保護 (默認值128)
./go_build_Coolpy7_go_linux
# 啓動成功後會打印以下信息,即說明服務端已正常啓動,host於1883端口,請確保相關防火牆配置可用
2018/10/29 12:59:55 Coolpy7 tcp is listening on [::]:1883
通常需爲程序提權才能夠運行Linux服務,指令:chmod -R 777 go_build_Coolpy7_go_linux網絡
運行Coolpy7 WS代理服務架構
此功能即爲Coolpy7核心服務提供WebSocket接入功能。經過ssh進入服務器192.168.200.203,並確保你已經按照 https://coolpy7.gitbook.io/coolpy7book/kai-shi-shi-yong/start 配置服務器操做系統的網絡優化配置。
# 下載服務器端
git clone https://github.com/Coolpy7/Coolpy7.git && cd Coolpy7
# 解壓文件
unzip go_build_Coolpy7_ws_go_linux.zip
# 提權
chmod -R 777 go_build_Coolpy7_ws_go_linux
# 啓動Coolpy7 WS Poxy
# r啓動參數 CP7核心服務器所在ip或域名 (例:core.coolpy.net:1883 or 192.168.200.201:1883)
# l啓動參數 當前服務Host地址 (默認爲:8083即本地8083端口,此參數通常默認便可,無需配置)
./go_build_Coolpy7_ws_go_linux
# 啓動成功後會打印以下信息,即說明服務端已正常啓動,host於8083端口,請確保相關防火牆配置可用
2018/10/29 12:59:55 upstream 192.168.200.201:1883 ok
2018/10/29 12:59:55 Coolpy7 ws is listening on [::]:8083
運行Html5前端聊天室應用示例
以WebStorm爲例
1.下載源代碼
2.修改鏈接信息本示例以本機運行整套系統爲例輸入127.0.0.1,端口號8083,假設把服務器端Coolpy7和Coolpy7-ws已經運行於阿里雲之類的雲服務器上改寫爲服務器的公網IP地址和端口便可,若是已綁定域名可直接填寫域名如: test.coolpy.net
3.修改完畢後選中工程中的index.html點擊
至此已完成運行部署。如下是測試運行演示
項目開源信息
服務器端開源地址: https://github.com/Coolpy7
聊天室前端開源地址:https://github.com/Coolpy7/Cp7Chat