給點建議!開源項目架構選擇!仿騰訊IM后端項目!InChat!

希望各位猿類給點建議或者提一些新的方案思路!

前言

小弟無心插柳的聊天項目InChat(一開始叫SBToNettyChat)在廣大互聯網朋友的積極推動下,慢慢步入正軌,目前2個月(一周4小時開發時間的速度····)迭代著,已經50Star,對于小弟也是很大的肯定,小弟今年7月開始在GitHub做開源,對于開源還不太了解,不過想借助這個InChat項目正式開啟開源之路

項目地址:https://github.com/UncleCatMy...

圖片描述

項目的核心目標也做了轉變,目前的大方向就是仿造騰訊IM服務端,以接口的形式提供給中小型團隊做IM服務。項目核心是基于Netty改造的。

項目中還添加了Iot的物聯網通信功能,這個不是本文重點就略過。

問題環境

項目預想環境:在用戶量極大的情況下,將InChat配置為多臺服務器,集群的環境,則可能存在用戶連接實例在不同的服務器上,則需要如何將Server-One的用戶A 發的消息發給 Server-Two的用戶B,單臺服務器下的點對點發送是簡單的,但是跨服務器的話,連接實例只能存放在本服務器中。

猜想一

圖片描述

這種是用到了分發器的思路

集群環境下多個用戶在不同服務器登陸后,會將所用用戶的登陸信息與服務器位置統一存放到Redis中,前端通過API調用,json格式A發送給B message時,由分發器去查詢Redis中B的服務器是one還是two,然后向其中發送message

猜想二

圖片描述

使用消息隊列,處理直接放到每臺InChat中

接口服務器只負責生產投遞消息

交流與問題

以上兩種是我想到的方式,是否還有更好的形式,我會后期整理更新到項目中(開一個新的分支)

項目QQ群交流:628793702


圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537651.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537651.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537651.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ajax 傳遞arraybuffer,jQuery $ .ajax或$ .load是否允許responseType arrayBuffer?

小編典典關于您的問題,jQuery似乎還不支持它。在按照我下面的建議使用它之前,請考慮檢查該功能是否可用。使用XHTMLRequest,您可以欺騙您的服務器,并從服務器接收一個代表您想要的字節的二進制字符串。它完美地工作。var xhr new…

Project給任務分配資源

視圖:資源工作表 現有資源如下: 項目經理,工時類資源,55元每小時,3月份在當前項目平均每天只能投入一半的時間 視圖:任務分配狀況工具 此視圖分配給任務分配資源特別方便,分配任務的資源為“…

gdiplus判斷一個點是否在圓弧線上_福建教師招聘考試小學數學面試教案:圓的認識...

開門見山地說:學科知識與教學能力教案設計知識點總結(查看更多)閩小獅:2020年福建教師招聘面試公告匯總(持續更新中)圓,根據歐幾里得的《幾何原本》定義,是在同一平面內到定點的距離…

Project中三種任務類型解釋

概述 Project--文件---選項---日程里,有“默認任務類型”設置 三種任務類型,與資源結合起來后,就需要根據實際情況選擇了。 固定單位 這是Project默認的任務類型。固定什么東西?固定的是資源單位。 資源單位定義:單…

ajax參數中有加號,淺談在js傳遞參數中含加號(+)的處理方式

一般情況下,URL 中的參數應使用 url 編碼規則,即把參數字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數,空格則編碼為加號()。但是對于帶有中文的參數來說,這種編碼會使編碼后的字符串變得很長…

基本權限總結

rwx r 針對目錄 能夠看到目錄下的內容,也就是說能夠使用ls 查看目錄下的內容針對文件 能夠看文件內的內容,也就是說能夠使用cat 查看文件內的內容 w 針對目錄 如果目錄有w權限,就可以刪除目錄下的內容針對文件 如果文件有w權限,就…

電腦用電量_閑置電腦也能賺錢?「BOINC算力地球」借區塊鏈技術擴大共享算力...

閻研希望在未來三到五年內,將BOINC平臺的算力規模擴大到目前的四倍,這相當于目前阿里云兩個大型機房的算力規模。你可曾想過,未來有一天你可以利用自己閑置的電腦來賺錢,同時還能為科研項目作出貢獻,甚至突破太空&…

加了密的PDF如何破解復制?

概述 PDF被加密了,可以查看,可以打印,但是復制不了內容。 不知道密碼,如何不花錢破解它? 方法 工具:谷歌瀏覽器,或谷歌內核的360、qq等瀏覽器 1.打開谷歌瀏覽器 2.將pdf文件拖進瀏覽器&…

nat - 虛擬服務器設置,nat 虛擬服務器設置

nat 虛擬服務器設置 內容精選換一換虛擬IP地址用于為網卡提供第二個IP地址,同時支持與多個云服務器的網卡綁定,從而實現多個云服務器之間的高可用性。登錄管理控制臺。單擊管理控制臺左上角的,選擇區域和項目。選擇“計算 > 云耀云服務器”…

新款蘋果電腦_蘋果真牛!iPhone的軟件,蘋果電腦上也照樣可用了

在剛剛過去的雙11大戰中,幾大手機廠商,打得是不可開交。為了這次年度狂歡,不僅蘋果準備了iPhone12,余承東推出了華為Mate40,劉作虎亮出了一加8T,小米特供了Redmi K30S至尊版,就連久久沒有動作的…

win10 設置游戲全屏

小米筆記本pro,雙顯卡,win10 用百度搜的修改注冊表的值,沒有用。 方法是: 1.桌面--右鍵--英特爾顯卡設置 2.選擇顯示器 3.縮放比例,選擇覆蓋應用程序設置,點擊應用

【算法】LeetCode算法題-Remove Duplicates from Sorted Array

這是悅樂書的第149次更新,第151篇原創 01 看題和準備 今天介紹的是LeetCode算法題中Easy級別的第8題(順位題號是26)。給定一個已經排序(由小到大)的整數數組(元素可以重復),計算其中不重復元素的個數n&…

信息系統項目管理基礎(1)

項目管理基礎 項目的概念 項目是為提供一項獨特產品、服務或成果所做的臨時性努力。 我現在csdn上寫一篇名叫《信息系統項目管理基礎》的博文,就是項目! 獨特性:這篇博文獨一無二,在csdn中找不出完全一樣的。 臨時性&#xf…

csgo客戶文件與服務器,csgo與遠程服務器

csgo與遠程服務器 內容精選換一換遠程連接Windows彈性云服務器后,不能復制、粘貼內容,右鍵單擊菜單欄,“粘貼”選項置灰。未進行本地驅動器映射。服務器rdpclip.exe進程異常。系統禁止云服務器和本地主機之間進行文件的復制粘貼功能。未進行本…

java 容器都有哪些?_適合存儲普洱茶的容器都有哪些?

收藏普洱茶的容器,首先強調的是無異味、無污染。就質地而言,收藏普洱茶的容器類型很多:土器、瓦器、木器、竹器、石器、陶器、瓷器、紫砂、玻璃、紙質等都可選擇使用,金屬、搪瓷容器密度高、透氣性差,如不解決透氣性問…

WPF,Silverlight與XAML讀書筆記第三十九 - 可視化效果之3D圖形

原文:WPF,Silverlight與XAML讀書筆記第三十九 - 可視化效果之3D圖形說明:本系列基本上是《WPF揭秘》的讀書筆記。在結構安排與文章內容上參照《WPF揭秘》的編排,對內容進行了總結并加入一些個人理解。 WPF將易用性的理念帶入了3D世界&#xf…

logisim優先編碼器怎么用_編碼器簡介、應用的stm32代碼及注釋

在機器人的旋轉關節中、或者底盤的驅動輪中,編碼器是一個很常用的部件,它用于檢測輸出軸的位置、轉速。下面我們先從它的分類開始,后面還有一個簡單的用法示例代碼。磁編碼器1.編碼器分類: 按工作原理:光電式、磁電式和…

數據庫查詢集合排序

/** 定義一個排序規則*/ public class ComparatorUser implements Comparator{Overridepublic int compare(Object arg0, Object arg1) {User user0(User)arg0;User user1(User)arg1;//首先比較年齡,如果年齡相同,則比較名字int flaguser0.getAge().comp…

立項管理

項目建議書 也叫立項申請項目建設單位發起主要內容:項目的必要性、項目市場預測、產品方案或服務的市場預測、項目建設必需的條件項目可行性研究 特點 預見性、公正性、可靠性、科學性主要內容 投資、技術、財務、組織、經濟、社會的可行性、風險因素及對策技術可行…

c++輸出方塊_【Blender】方塊波浪動畫音樂效果

先上結果:Blender方塊動畫效果https://www.zhihu.com/video/1232333427569262592老規矩:一、設置基本Wave Mesh(波浪面)創建Plane,S 8,這樣寬度就是2*816m了。CtrlA/Object菜單->Apply->Apply Scale—…