摘要:詳情見,大致介紹如下是一個長連接服務解決方案,可用于各種類型的實時交互應用。由于是按照集群設計的,所以架構上分了好幾個模塊,但若是對于十萬級別的長連接來說,單純一個長連接節點的長連接服務模塊叫,詳見代碼目錄下的目錄即可支持。
Github
項目名稱為Gru,取自《卑鄙的我》
項目地址: https://github.com/sumory/gru
示例-web chat:https://github.com/sumory/gru-example
示例項目是一個IM應用,基于Node.js和socket.io(協議實現由Gru提供),截圖:
Gru集群提供狀態監控,該模塊使用Node.js實現
介紹其實集群的主要實現是基于Java的,也用了大量的中間件,node.js實現了監控和示例項目,但稍微上點規模的項目都不是一個門語言能cover的,所以有興趣的同學還是可以看下這個項目的。詳情見Github,大致介紹如下:
Gru是一個長連接服務解決方案,可用于各種類型的實時交互應用。
支持單點部署和集群模式部署
采用socket.io協議
各模塊均支持水平擴展
單節點可服務10W+以上長連接,具體為在不斷發消息的情況下(1000條/秒),單長連接服務節點支持的穩定連接數量在10W+(8核16G)
節點間通訊支持多種方式:進程內、redis、rocketmq
安裝:
最小化安裝
集群安裝
gru-example基于Gru的示例項目,即時應用最典型的代表就是IM,這個示例是一個基于Gru的web聊天應用。
安裝:
需首先配置好Gru集群
集群配置詳見Gru文檔
若不需要集群,Gru項目只需要部署一個模塊(spear)即可
本示例是一個Node.js項目,需先安裝Node.js
clone下本示例
npm install相關依賴
配置文件在config目錄下,特別注意spearNode配置,此配置為一個可用的spear節點
運行node app.js,默認會加載config/dev.js配置文件
其它這個項目的前身是我原來的一個開源項目,后來用于公司內部某系統,就關了Github。最近抽空剝離了一些業務代碼,內部實現改得更為通用后重新開放出來,支持點對點和廣播消息。
由于Gru是按照集群設計的,所以架構上分了好幾個模塊,但若是對于十萬級別的長連接來說,單純一個長連接節點(Gru的長連接服務模塊叫spear,詳見代碼目錄下的spear目錄)即可支持。感興趣的同學可拿spear自行改造。
gru-example提供了一個如何使用gru構建實時應用的示例,若要二次開發,集成用戶系統進來,可在類似于gru-example的模塊中實現。
最后,歡迎star和fork.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66171.html
摘要:比如一個機器翻譯模型,輸入是模型輸出湯姆,追逐,杰瑞。模型目前在機器翻譯,圖片描述任務,語音識別都有大量應用,熟練使用對于解決實際問題會有很大的幫助。 介紹 Attention模型形象的比喻就是圖像對焦。 showImg(https://segmentfault.com/img/bVbkLig?w=2426&h=788); 上圖是Encoder-Decoder模型,Decoder中每個...
摘要:原文保持更新及修正基于的客戶端配置選項,其它驅動大同小異。連接池中連接的最大使用壽命毫秒。設置該選項后,客戶端將進行以下行為以副本集模式連接,并根據給定的服務器發現副本集的所有成員。該選項可以和配合使用。編解碼器用于對進行編碼和解碼。 原文保持更新及BUG修正:http://kweny.io/mongodb-clien... 基于 MongoDB Java Driver 3.8.1 ...
閱讀 3859·2023-04-26 00:36
閱讀 2667·2021-11-16 11:44
閱讀 1082·2021-11-15 17:58
閱讀 1665·2021-09-30 09:47
閱讀 1208·2019-08-30 13:05
閱讀 1539·2019-08-30 12:55
閱讀 2409·2019-08-30 11:02
閱讀 2718·2019-08-29 17:01