標簽 ‘ Netty

為自己搭建一個分布式 IM(即時通訊) 系統

前言

大家新年快樂!

新的一年第一篇技術文章希望開個好頭,所以元旦三天我也沒怎么閑著,希望給大家帶來一篇比較感興趣的干貨內容。

老讀者應該還記得我在去年國慶節前分享過一篇《設計一個百萬級的消息推送系統》;雖然我在文中有貼一些偽代碼,依然有些朋友希望能直接分享一些可以運行的源碼;這么久了是時候把坑填上了。

閱讀全文

設計一個百萬級的消息推送系統

前言

首先遲到的祝大家中秋快樂。

最近一周多沒有更新了。其實我一直想憋一個大招,分享一些大家感興趣的干貨。

鑒于最近我個人的工作內容,于是利用這三天小長假憋了一個出來(其實是玩了兩天?)。

先簡單說下本次的主題,由于我最近做的是物聯網相關的開發工作,其中就不免會遇到和設備的交互。

最主要的工作就是要有一個系統來支持設備的接入、向設備推送消息;同時還得滿足大量設備接入的需求。

所以本次分享的內容不但可以滿足物聯網領域同時還支持以下場景:

  • 基于?WEB?的聊天系統(點對點、群聊)。
  • WEB?應用中需求服務端推送的場景。
  • 基于 SDK 的消息推送平臺。

閱讀全文

Netty(二) 從線程模型的角度看 Netty 為什么是高性能的?

前言

在之前的?SpringBoot 整合長連接心跳機制?一文中認識了 Netty。

但其實只是能用,為什么要用 Netty?它有哪些優勢?這些其實都不清楚。

本文就來從歷史源頭說道說道。

閱讀全文

《NETTY官方文檔》4.0的新特性及注意點

原文鏈接 譯者:裘卡

此文檔涵蓋了此次Netty大版本中值得關注的變更點及新特性,以幫助你將自己的應用順利移植到新版本。

閱讀全文

線程親和性(Thread Affinity)

原文鏈接 譯者:裘卡

如果你正在開發低延遲的網絡應用,那應該對線程親和性(Thread affinity)有所了解。線程親和性能夠強制使你的應用線程運行在特定的一個或多個cpu上。通過這種方式,可以消除操作系統進行調度過程導致線程遷移所造成的影響。幸運的是,剛好有一個這么一個java庫 Java-Thread-Affinity ,并且很容易就可以整合到你的netty應用中。

閱讀全文

《Netty官方文檔》引用計數對象

原文地址? ? ?翻譯:Tyrian

從Netty 4起,對象的生命周期由它們的引用計數來管理,因此,一旦對象不再被引用后,Netty 會將它(或它共享的資源)歸還到對象池(或對象分配器)。在垃圾回收和引用隊列不能保證這么有效、實時的不可達性檢測的情況下,引用計數以犧牲輕微的便利性為代價,提供了 另一種可選的解決方案。 最值得注意的類型是ByteBuf,它正是利用了引用計數來提升內存分配和釋放的性能。這一節 將用ByteBuf來講述引用計數在Netty中是如何工作的。

閱讀全文

Netty框架中的@Skip使用說明

最近在學習Netty框架,對著教程上寫了個簡單的netty應用,可是死活調試不成功,對著程序跟教程上看了幾遍也找不到原因,后來又重新寫了一遍,服務端程序終于調試成功,原因出在了那個@Skip注釋上了,代碼如下:
閱讀全文

Netty 5用戶指南

原文地址http://netty.io/wiki/user-guide-for-5.x.html ? ?譯者:光輝勇士 ? ? ?校對:郭蕾

前言

問題

現如今我們使用通用的應用程序或者類庫來實現系統之間地互相訪問,比如我們經常使用一個HTTP客戶端來從web服務器上獲取信息,或者通過web service來執行一個遠程的調用。

然而,有時候一個通用的協議和他的實現并沒有覆蓋一些場景。比如我們無法使用一個通用的HTTP服務器來處理大文件、電子郵件、近實時消息比如財務信息和多人游戲數據。我們需要一個合適的協議來處理一些特殊的場景。例如你可以實現一個優化的Ajax的聊天應用、媒體流傳輸或者是大文件傳輸的HTTP服務器,你甚