chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

go語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單im即時(shí)通信系統(tǒng)

馬哥Linux運(yùn)維 ? 來(lái)源:Go開(kāi)發(fā)大全 ? 作者:Go開(kāi)發(fā)大全 ? 2021-10-20 16:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹了一個(gè) go 語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單 im 即時(shí)通信系統(tǒng)。

簡(jiǎn)介

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

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

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

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

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

時(shí)序圖

以下Comet 層,Logic 層,Job層都可以靈活擴(kuò)展機(jī)器

特性

分布式,可拓?fù)涞募軜?gòu)

支持單個(gè),房間推送

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

基于redis 做消息推送

輕量級(jí)

持續(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 包拉不下來(lái)的情況,例

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 拉下來(lái),再移動(dòng)位置

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那樣整體跑起來(lái)需要完整的部署

部署注意事項(xiàng)

  1. 部署服務(wù)器注意防火墻是否開(kāi)放對(duì)應(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ù)計(jì)劃

  1. 在線(xiàn)列表
  2. 支持wss
  3. 聊天機(jī)器人

原文來(lái)自:www.ancii.com/awugjp68e/

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

    關(guān)注

    6

    文章

    1246

    瀏覽量

    54947
  • 聊天機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    348

    瀏覽量

    13021
  • go語(yǔ)言
    +關(guān)注

    關(guān)注

    1

    文章

    159

    瀏覽量

    9617

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    常用Web 實(shí)時(shí)通信技術(shù):原理+選型,一篇通關(guān)

    用的實(shí)時(shí)通信技術(shù),從概念、原理特點(diǎn)、適用場(chǎng)景、對(duì)比選型進(jìn)行詳細(xì)解析。 一、WebSocket 1.1、核心概念 WebSocket 是 Web 端實(shí)時(shí)通信的 “基礎(chǔ)設(shè)施”,通過(guò) 全雙工長(zhǎng)連接 和 輕量幀傳輸 ,解決了 HTTP 單向短連接的局限性,成為
    的頭像 發(fā)表于 10-27 17:19 ?482次閱讀
    常用Web 實(shí)時(shí)<b class='flag-5'>通信</b>技術(shù):原理+選型,一篇通關(guān)

    即時(shí)通話(huà)軟件音頻傳輸質(zhì)量測(cè)試方案介紹

    本套測(cè)試方案的核心目的是通過(guò)POLQA(Perceptual Objective Listening Quality Assessment)主觀音質(zhì)評(píng)價(jià)測(cè)試來(lái)反映即時(shí)通話(huà)軟件在使用過(guò)程中的音頻
    的頭像 發(fā)表于 08-10 15:21 ?3392次閱讀
    <b class='flag-5'>即時(shí)通</b>話(huà)軟件音頻傳輸質(zhì)量測(cè)試方案介紹

    海底光纜系統(tǒng)怎么組成

    在數(shù)字浪潮席卷全球的當(dāng)下,短視頻的沉浸式體驗(yàn)、跨國(guó)即時(shí)通訊的暢所欲言以及全天候全球資訊的實(shí)時(shí)推送,早已成為我們生活的日常。
    的頭像 發(fā)表于 07-21 14:45 ?746次閱讀

    智己IM5和IM6登陸英國(guó)市場(chǎng)

    近日,智己汽車(chē)全球化戰(zhàn)略迎來(lái)里程碑時(shí)刻。旗下明星車(chē)型——智己L6海外版IM5與智己LS6海外版IM6,盛大亮相全球頂級(jí)汽車(chē)盛會(huì)古德伍德速度節(jié)(Goodwood Festival of Speed
    的頭像 發(fā)表于 07-15 13:50 ?558次閱讀

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

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

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

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

    單片機(jī)C語(yǔ)言實(shí)例(350+例)

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

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

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

    基于Verilog語(yǔ)言實(shí)現(xiàn)CRC校驗(yàn)

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

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

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

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

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

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

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

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

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

    影目科技發(fā)布全球首款同傳翻譯眼鏡INMO GO2

    近日,搭載紫光展銳W517芯片平臺(tái)的INMO GO2由影目科技正式推出。作為全球首款專(zhuān)為商務(wù)場(chǎng)景設(shè)計(jì)的智能翻譯眼鏡,INMO GO2 以“快、準(zhǔn)、穩(wěn)”三大核心優(yōu)勢(shì),突破傳統(tǒng)翻譯產(chǎn)品局限,為全球商務(wù)人士帶來(lái)高效、自然、穩(wěn)定的跨語(yǔ)言
    的頭像 發(fā)表于 12-11 10:00 ?1932次閱讀

    即時(shí)通話(huà)軟件音頻傳輸質(zhì)量測(cè)試方案

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