天天看點

深入認識Tigase XMPP Server(下)

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/41283195

深入認識Tigase XMPP Server(下)

作者:chszs,轉載需注明。部落格首頁:

http://blog.csdn.net/chszs

接上一篇文章《

深入認識Tigase XMPP Server(上)

》。

8、Android Messenger

完全支援XMPP/Jabber的主要規範和大多數擴充,至此文檔和照片的分享,好友的地理位置的分享。

Android Messenger是一個全功能的XMPP用戶端,而且還注意保護裝置的電池電量,減少裝置的流量。特征如下:

1)至此XMPP最新的RFC規範和大多數擴充

2)面向移動的優化,減少電池使用率,降低流量

3)可以同時連接配接到不同的XMPP伺服器,不限制賬戶數量

4)支援MUC群聊

5)與好友分享地理定位

6)文檔和照片分享

7)支援釋出訂閱功能

9、Tigase Socks5 Proxy

實作通過NAT網絡位址轉換後的使用者間的二進制資料和檔案的傳輸,針對大檔案和小檔案傳輸做了優化,支援傳說的quotas與計費系統的內建。

及時消息和實時通信系統如今不僅是聊天、線上狀态,還可以是語音、視訊通話。人們分享他們的想法、經驗、情感、照片、視訊以及檔案。盡管文檔分享主要是企業和團體協作的主要功能,照片和視訊分享才幾乎是每個人都需要的。人們拍照、錄制視訊,并希望與朋友和家人即時分享。是以,目前的IM和RTC部署需要有效的檔案共享系統。

理想情況下,你希望人們直接互聯并直傳檔案。但這不可能,因為如果使用者位于NAT背後,或者使用者希望與多人一起分享檔案就做不到。對于後者,使用者需要多次傳輸檔案給朋友才能實作群體分享,消耗太大。

使用公網的代理伺服器可以輕松解決以上問題。它允許使用者通過代理傳輸檔案。在NAT背後的使用者都可以連接配接到公網代理伺服器,并通過它傳輸共享的檔案給多個好友,每位好友可以從伺服器下載下傳分享的檔案。

Tigase Socks5 Proxy提供了很多獨特的功能:

1)NAT背後的使用者的二進制資料傳輸,可交換各種類型的檔案

2)超高吞吐率,可充分利用帶寬,尤其是傳輸大檔案時

3)大量的并行傳輸,同時傳輸多個檔案

4)全局配額或為每位使用者配額或為域配額,以限制傳輸和防止濫用

5)易于與計費系統相內建,以便為使用者提供更好的服務

6)提供積分系統

7)設定多種機器來分擔負載

8)虛拟域的支援,允許隔離使用者和用戶端到不同的計費組

9)很好地與Tigase XMPP伺服器內建,在叢集模式下部署系統支援數百萬線上使用者

10、Tigase CLI Management

提供對XMPP伺服器的指令行通路,輕松完成管理任務。

此功能很友善,它可以通過一個漂亮的圖形界面來管理。但是,對于Tigase叢集模式的安裝,最好是采用指令行方式管理,尤其是執行那些通過定時器運作的自動化任務。Web控制台和獨立應用都幹不了這些任務,還是需要可靠的、靈活的指令行工具來完成這些任務。這就是Tigase指令行管理工具。它的特征如下:

1)完全支援XEP-0133規範的管理指令

2)通過API編寫腳本做擴充。盡管工具隻是一個Java應用程式,但還是可以使用腳本語言(如Groovy、Python、Ruby等)擴充其功能和指令

3)提供大量開箱即用的管理任務,滿足正常的管理需求

4)簡單、易用,學習成本低

11、Tigase MUC

支援基于角色的群聊,提供API和自定義擴充,可處理數百萬的小型聊天室和有數千使用者的大型聊天室。

真正的社群需要人們的互動。這可以通過多種方式實作:電郵、Twitter、FaceBook、論壇、網站評論等。但是,這些都比不上實時通信,發送聊天消息,可以立即得到回應,與朋友線上聊天。多個人一起聊可以用群聊。

Tigase的MUC元件可以提供:

1)實時群聊

這意味着很多人可以在虛拟房間聊天,交流想法。

2)基于角色的房間成員

允許設定房間管理者、版主,配置設定發消息和允許監聽/讀取消息的權限。

3)密碼保護的聊天室

建立私人群聊室,有密碼的使用者才能進入聊天室。

4)受邀的聊天室

受邀的使用者才能進入聊天室。

5)私人的、無形的聊天室或公共聊天室都可以按需求輕松建立

6)聊天曆史記錄到資料庫

7)通過MUC叢集模式支援數百萬的群聊室,負載可以有效地分布到各伺服器上,并提供了幾乎無線的可擴充性

8)MUC叢集模式支援超大群聊天室,可容納成千上萬的使用者,可以把單個聊天室分不到叢集中的多台伺服器上。

所有提供的MUC功能都是開源軟體,隻有MUC叢集模式是官方額外提供的商業級功能。

12、Tigase Testsuite

針對基本的XMPP和大多數擴充,提供了數百個測試。

Tigase測試包是一個強大的工具,可以運作Tigase伺服器的功能和性能測試。它不限于Tigase,還可以測試支援XMPP協定的伺服器。但是,此測試包是為Tigase設計的,是為了確定Tigase各子產品功能正常。

這裡是測試結果: http://build.tigase.org/~tigase/

實際上,Tigase的每日建構版都用此測試包做了測試,以保障代碼品質。

詳見: http://build.tigase.org/nightlies/tests/

可以基于此測試包設計複雜的測試場景,此測試包最有趣的特點包括:

1)自定義的腳本語言,可使用很少的代碼即可設計非常複雜的測試場景。

2)無需添加簡單的測試腳本(内容很全了),在大多數場景下隻需指定發送到的伺服器、預期的傳回結果即可。

3)産生HTML格式的測試報告:成功的測試标綠,失敗的測試标紅。

4)對每個測試案例都有定時器,是以可以清楚知道伺服器的響應時間,還可以用它比較各版本之間的性能差異。

5)每個測試案例都有完整的協定互動的輸出,可以定位和分析錯誤。

6)所有的測試案例都是運作在網絡并執行了伺服器的方方面面,是以測試包是完整的測試,從網絡層到上層元件都得到了測試。

13、Tigase ALB

無限制的裝置線上數,地理上釋出的叢集節點,減少97%網絡流量。

有幾種解決方案,允許你把使用者配置設定到叢集節點,并分發到多個伺服器上。這些解決方案包括:Round-robin輪詢、專業級的硬體路由器(比如Cisco的)、軟硬體防火牆、代理服務等。

這些方案都是為使用者随機配置設定機器,分布或許是比較平均的,但不是最佳的,如果你使用了Tigase ALB(Advanced Load Balancer),那麼可以做到其它方案做不到的三件事:

1)為1億或更多線上使用者運作安裝

2)建構地理上分散的XMPP叢集

3)為有非常大的聯系人清單的使用者運作安裝,聯系人清單的人數平均有數千個

對Tigase ALB來說是可能的,因為它把使用者配置設定到特定的叢集節點或節點組。它會分析所有使用者賬戶的社交網絡,把使用者配置設定到特定的機器上,以便減少網絡流量。它采用了基于人工智能和遺傳算法的進階技術來實作這一點。

ALB很複雜,但他工作的很好。

ALB是非入侵式的,它可以在背景不斷地優化使用者資料,并逐漸提高系統的整體性能。ALB可以在任意時間打開和關閉,而不會影響XMPP的安裝。ALB可以與Round-robin輪詢或其它負載均衡方案一起工作。一旦你正确地安裝并配置ALB到系統中,它會變為不可見,但你可以看到效果,系統的性能每天都在變得更好。

14、Tigase STUN

允許NAT背後的裝置直連,減少服務和系統的負載,降低網絡流量。

Jabber、XMPP、IM(Instant Messaging)、IC(Instant Communication)服務最初是交換文本資訊。消息文本、使用者狀态文本、聯系人資訊文本等,都是通過這樣的系統進行交換的。

現在,各種類型的文檔、招聘、視訊、資料庫等,這些二進制資料也需要實時交換。XMPP伺服器可以搞定這個,它可以作為二進制連接配接握手代理和實際的P2P連接配接的代理或中轉代理。偶爾還可作為帶内傳輸。這裡有多種選擇,通常首選薩送大的二進制資料塊給直連的使用者。這也是最高效和成本最低的方式。

不幸的是,使用者之間要實作直連是很困難的,這是因為NAT的原因,使用者在NAT背後,是以使用者的裝置是不可見的,Internet不能直達。如果某個應用從NAT背後的裝置連接配接網際網路時,它是沒有辦法告知伺服器它自己的公開/靜态IP位址的,是以它也沒法提供任何可選項給第三方如何建立P2P連接配接。這就需要一個中間伺服器,STUN伺服器可以搞定這個。它允許應用程式發現自己的公開IP位址,并與另一方協商最優的直連。

此方案的優點:

1)位于NAT背後的兩個裝置可以建立P2P直連

2)消除了網絡消耗大的二進制傳輸,減少了伺服器負載;

3)通過減少了負載和網絡流量,降低了營運成本

4)如果需要媒體交換作為使用者到XMPP服務的連接配接,那麼它是一個理想的解決方案。它可以很好地與Tigase XMPP伺服器相內建,可以部署到多台伺服器上,無需複雜的配置。

15、Tigase Monitor監控

更早的發現網絡瓶頸。

Tigase Monitor是一個獨立的桌面應用程式,它可以連接配接到所有的Tigase伺服器,并提供所有Tigase系統的狀态概覽。它可以展示有意義的圖表,包括:CPU使用率、記憶體使用率、使用者的分布、不同類型的流量……

除此以外,它還提供了内部隊列尺寸、潛在的評獎、平均處理時間的詳細資訊。

Tigase Monitor是實時監控,系統有狀況,會立即得到通知。

Tigase Monitor特征包括:

1)Tigase測量的實時資料活動圖

2)單個應用監控的伺服器數量無限制

3)自定義的“第二”視窗:用于顯示自定義的測量資料

4)系統性能和瓶頸的詳細資訊

5)自動産生螢幕截圖,并周期性的存儲到硬碟

繼續閱讀