色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

go語言實現(xiàn)的簡單im即時通信系統(tǒng)

馬哥Linux運維 ? 來源:Go開發(fā)大全 ? 作者:Go開發(fā)大全 ? 2021-10-20 16:02 ? 次閱讀

本文介紹了一個 go 語言實現(xiàn)的簡單 im 即時通信系統(tǒng)。

簡介

純go實現(xiàn)的im即時通訊系統(tǒng),各層可單獨部署,之間通過rpc通訊,支持集群,github地址 https://github.com/Terry-Ye/im_api , 學(xué)習(xí)于goim, 總分三層,

comet(用戶連接層),可以直接部署多個節(jié)點,每個節(jié)點保證serverId 唯一,在配置文件comet.toml

logic(業(yè)務(wù)邏輯層),無狀態(tài),各層通過rpc通訊,容易擴展,支持http接口來接收消息

job(任務(wù)推送層)通過redsi 訂閱發(fā)布功能進行推送到comet層。

系統(tǒng)架構(gòu)圖

時序圖

以下Comet 層,Logic 層,Job層都可以靈活擴展機器

特性

分布式,可拓撲的架構(gòu)

支持單個,房間推送

心跳支持(gorilla/websocket內(nèi)置)

基于redis 做消息推送

輕量級

持續(xù)迭代。。.

部署

  1. 安裝
    
goget-ugithub.com/Terry-Ye/im
mv$GOPATH/src/github.com/Terry-Ye/im$GOPATH/src/im
cd$GOPATH/src/im
goget./...

golang.org 包拉不下來的情況,例

packagegolang.org/x/net/ipv4:unrecognizedimportpath"golang.org/x/net/ipv4"(httpsfetch:Gethttps://golang.org/x/net/ipv4?go-get=1:dialtcp216.239.37.1i/otimeout)

從github 拉下來,再移動位置

gitclonehttps://github.com/golang/net.git
mkdir-pgolang.org/x/

mvnet$GOPATH/src/golang.org/x/
  1. 部署im

安裝comet、logic、job模塊

cd$GOPATH/src/im/comet
goinstall
cd../logic/
goinstall
cd../job
goinstall

nohup$GOPATH/bin/logic-d$GOPATH/src/im/logic/2>&1>/data/log/im/logic.log&

nohup$GOPATH/bin/comet-d$GOPATH/src/im/comet/2>&1>/data/log/im/comet.log&

nohup$GOPATH/bin/job-d$GOPATH/src/im/job/2>&1>/data/log/im/job.log&
  1. im_api 是im系統(tǒng)中使用的接口,需要像demo那樣整體跑起來需要完整的部署

部署注意事項

  1. 部署服務(wù)器注意防火墻是否開放對應(yīng)的端口(本地不需要,具體需要的端口在各層的配置文件)

demo

聊天室:http://www.texixi.com:1999/

使用的包

  • log: github.com/sirupsen/logrus
  • rpc: github.com/smallnest/rpcx
  • websocket: github.com/gorilla/websocket
  • 配置文件:github.com/spf13/viper

后續(xù)計劃

  1. 在線列表
  2. 支持wss
  3. 聊天機器人

原文來自:www.ancii.com/awugjp68e/

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    1224

    瀏覽量

    53999
  • 聊天機器人
    +關(guān)注

    關(guān)注

    0

    文章

    348

    瀏覽量

    12743
  • go語言
    +關(guān)注

    關(guān)注

    1

    文章

    159

    瀏覽量

    9319

原文標題:支持分布式的 go 實現(xiàn)即時通訊系統(tǒng)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    基于瑞芯微RK3562 的四核 AR M Cortex-A53 + 單核 ARM Cortex-M0工業(yè)評估板——MQTT通信方案

    MQTT作為一種低開銷,低帶寬占用的即時通訊協(xié)議,可以極少的代碼和帶寬為聯(lián)網(wǎng)設(shè)備提供實時可靠的消息服務(wù),適用于硬件資源有限的設(shè)備及帶寬有限的網(wǎng)絡(luò)環(huán)境。我司提供的評估板文件系統(tǒng)已支持Mosquitto工具,本文mqtt_client案例采用Mosquitto工具演示MQTT
    的頭像 發(fā)表于 06-05 15:00 ?1158次閱讀
    基于瑞芯微RK3562 的四核 AR M Cortex-A53 + 單核 ARM Cortex-M0工業(yè)評估板——MQTT<b class='flag-5'>通信</b>方案

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(即時通訊)

    們準備好了超多實用開發(fā)案例!尤其是那個讓無數(shù)人頭疼的\"一次開發(fā)多端部署\",官方竟然悄悄塞了這么多實戰(zhàn)技巧!(拍大腿) ?先上硬核案例:即時通訊應(yīng)用的多端魔法? 官方這個即時通
    發(fā)表于 06-03 16:01

    單片機C語言實例(350+例)

    350+單片機C語言實例! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時間告知,刪除內(nèi)容!
    發(fā)表于 05-22 21:47

    從 Java 到 Go:面向?qū)ο蟮木奕伺c云原生的輕騎兵

    Go 語言在 2009 年被 Google 推出,在創(chuàng)建之初便明確提出了“少即是多(Less is more)”的設(shè)計原則,強調(diào)“以工程效率為核心,用極簡規(guī)則解決復(fù)雜問題”。它與 Java 語言生態(tài)
    的頭像 發(fā)表于 04-25 11:13 ?189次閱讀

    基于Verilog語言實現(xiàn)CRC校驗

    CRC即循環(huán)冗余校驗碼:是數(shù)據(jù)通信領(lǐng)域中最常用的一種查錯校驗碼,其特征是信息字段和校驗字段的長度可以任意選定。循環(huán)冗余檢查(CRC)是一種數(shù)據(jù)傳輸檢錯功能,對數(shù)據(jù)進行多項式計算,并將得到的結(jié)果附在幀的后面,接收設(shè)備也執(zhí)行類似的算法,以保證數(shù)據(jù)傳輸?shù)恼_性和完整性。
    的頭像 發(fā)表于 03-24 10:36 ?1295次閱讀
    基于Verilog<b class='flag-5'>語言實現(xiàn)</b>CRC校驗

    限時免積分下載:增量式與位置式PID算法的C語言實現(xiàn)分享

    前面咱們有分享對PID算法離散化和增量式PID算法原理進行來探索,之后又使用Matlab進行了仿真實驗,對PID三個參數(shù)又有了更深入的認識,接下來我們來使用C語言進行PID算法實現(xiàn),并且結(jié)合控制電機的項目來深入學(xué)習(xí)。 今天限時免積分下載哦~~~~
    發(fā)表于 03-05 18:32

    PID控制算法的C語言實現(xiàn):PID算法原理

    在工業(yè)應(yīng)用中 PID 及其衍生算法是應(yīng)用最廣泛的算法之一,是當之無愧的萬能算法,如果能夠熟練掌握 PID 算法的設(shè)計與實現(xiàn)過程,對于一般的研發(fā)人員來講,應(yīng)該是足夠應(yīng)對一般研發(fā)問題了,而難能可貴
    發(fā)表于 02-26 15:24

    華為云 Flexus X 實例云服務(wù)器部署即時通IM 項目

    @TOC ? 寫在前面 手里拿到了一臺 華為云 Flexus X 實例 的云服務(wù)器,部署部署項目試試看看性能怎么樣。正當華為云 828 上云活動,可領(lǐng) 8280 元的券,活動地址在這里:點我查看 ? 讓我們來看看干點什么呢?部署個實用的應(yīng)用吧~ Flexus X 實例云服務(wù)器 介紹 首先,flexus 系列的產(chǎn)品不止有云服務(wù)器,還有如下一些產(chǎn)品: 1.?Flexus L 實例的云服務(wù)器 2.?Flexus X 實例的云服務(wù)器 3.?Flexus 云數(shù)據(jù)庫 RDS 4.?Flexus 云容器實例 5.?Flexus 數(shù)字人 6.?Flexus 企業(yè)搜索服務(wù) 7.?Fle
    的頭像 發(fā)表于 02-07 10:15 ?360次閱讀
    華為云 Flexus X 實例云服務(wù)器部署<b class='flag-5'>即時通</b>訊 <b class='flag-5'>IM</b> 項目

    基于FPGA實現(xiàn)圖像直方圖設(shè)計

    簡單,單采用FPGA來實現(xiàn)直方圖的統(tǒng)計就稍顯麻煩。若使用Xilinx和Altera的FPGA芯片,可以使用HLS來進行圖像的加速處理。但這暫時不是我的重點。 用C語言實現(xiàn)直方圖統(tǒng)計:unsigned
    的頭像 發(fā)表于 12-24 10:24 ?701次閱讀
    基于FPGA<b class='flag-5'>實現(xiàn)</b>圖像直方圖設(shè)計

    即時通話軟件音頻傳輸質(zhì)量測試方案

    使用過程中的音頻傳輸質(zhì)量。即時通話軟件基于移動網(wǎng)絡(luò)鏈路傳輸信號,通過本套測試方案中配套的網(wǎng)絡(luò)損傷仿真設(shè)備對傳輸鏈路添加不同的網(wǎng)絡(luò)影響,模擬軟件在不同網(wǎng)絡(luò)環(huán)境下的使用情況,進而測得更接近真實應(yīng)用場景下的音頻傳輸質(zhì)量。 POLQA測試算法是基于心理聲學(xué)模型,模擬人類聽覺系統(tǒng)
    的頭像 發(fā)表于 12-03 14:34 ?649次閱讀
    <b class='flag-5'>即時通</b>話軟件音頻傳輸質(zhì)量測試方案

    在學(xué)習(xí)go語言的過程踩過的坑

    作為一個5年的phper,這兩年公司和個人都在順應(yīng)技術(shù)趨勢,新項目慢慢從php轉(zhuǎn)向了go語言,從2021年到現(xiàn)在,筆者手上也先后開發(fā)了兩個go項目。在學(xué)習(xí)go
    的頭像 發(fā)表于 11-11 09:22 ?427次閱讀

    使用C語言實現(xiàn)函數(shù)模板

      用C語言能不能實現(xiàn)一個通用的函數(shù),既能完成整數(shù)的相加,又能完成浮點數(shù)的相加?
    的頭像 發(fā)表于 11-09 11:38 ?892次閱讀

    請問LMX2820即時校準的原理是什么?

    1. 請問LMX2820即時校準的原理是什么? 我現(xiàn)在可以使用即時校準的方式進行跳頻,但是我不理解即時校準鎖定的原理 2. 請問LMX2820相位同步的原理是什么?我想更加深入了解一下 謝謝
    發(fā)表于 11-08 10:30

    go語言如何解決并發(fā)問題

    作為一個后端開發(fā),日常工作中接觸最多的兩門語言就是PHP和GO了。無可否認,PHP確實是最好的語言(手動狗頭哈哈),寫起來真的很舒爽,沒有任何心智負擔,字符串和整型壓根就不用區(qū)分,開發(fā)速度真的是比
    的頭像 發(fā)表于 10-23 13:38 ?446次閱讀
    <b class='flag-5'>go</b><b class='flag-5'>語言</b>如何解決并發(fā)問題

    三十分鐘入門基礎(chǔ)Go Java小子版

    前言 Go語言定義 Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)、強類型、編譯型語言
    的頭像 發(fā)表于 08-12 14:32 ?955次閱讀
    三十分鐘入門基礎(chǔ)<b class='flag-5'>Go</b> Java小子版
    主站蜘蛛池模板: 99热成人精品国产免男男 | 公和熄洗澡三级中文字幕 | 影音先锋电影资源av | 亚洲日韩在线观看 | 啊灬啊灬啊灬快灬深高潮啦 | 野草观看免费高清视频 | 午夜福利电影 | 99热只有这里有精品 | 高清观看ZSHH96的视频素材 | 亚洲中文字幕手机版 | 国产成人精品电影在线观看 | 亚洲区视频| 国产99r视频精品免费观看 | 朋友的娇妻好爽好烫嗯 | 久爱在线中文在观看 | 猪蜜蜜网站在线观看电视剧 | 日韩精品一卡二卡三卡四卡2021 | 最新在线黄色网址 | 牛牛免费视频 | 国产午夜电影在线观看不卡 | 99精品视频| 久久re视频精品538在线 | 小货SAO边洗澡边CAO你动漫 | 和I儿媳妇激情 | 一本大道香蕉中文在线视频观看 | 午夜AV亚洲一码二中文字幕青青 | 国产成人v视频在线观看 | 快插我我好湿啊公交车上做 | 久久艹综合 | 东北足疗店妓女在线观看 | 亚洲一二三产品区别在哪里 | 中文字幕成人在线观看 | www.99在线| 乱码中字在线观看一二区 | 在线播放日韩欧美亚洲日本 | 小学生偷拍妈妈视频遭性教育 | 波多野结衣网站www 波多野结衣教师系列6 | 国产成人综合高清在线观看 | 国产蜜臀AV在线一区视频 | 花蝴蝶在线高清视频观看免费播放 | 九九在线中文字幕无码 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品