還沒使用過消息隊列?這一份書單值得你好好看看!

来源:https://www.cnblogs.com/AntCoder/archive/2020/05/16/12898601.html
-Advertisement-
Play Games

​ 如果想看更多技術好書,可以關註微信公眾號【程式員書單】作者黃小斜,目前是阿裡Java工程師,業餘時間廣泛讀書,在公眾號里除了分享程式員必讀的技術書籍之外,也會推薦很多關於個人成長、投資理財等方面的書籍。你煩惱的每個問題,書中都有答案。 在這裡,我們將為你推薦幫助程式員以及互聯網從業者自我提升的各 ...


如果想看更多技術好書,可以關註微信公眾號【程式員書單】作者黃小斜,目前是阿裡Java工程師,業餘時間廣泛讀書,在公眾號里除了分享程式員必讀的技術書籍之外,也會推薦很多關於個人成長、投資理財等方面的書籍。你煩惱的每個問題,書中都有答案。

在這裡,我們將為你推薦幫助程式員以及互聯網從業者自我提升的各類好書、優質學習資源和工具,每周pick精品書單,解讀經典書籍。

Java工程師往往容易忽視的一塊知識點,其實就是Java網路編程,為什麼呢,因為如果我想寫一個Java Web項目,我只要用SSM就可以輕鬆搞定,寫好我們的controller、service和dao就可以了,也就是只需要關心業務邏輯,不需要關心前端請求的路由、甚至是後端的負載均衡和網路請求處理,因為這些東西很多時候都被Nginx和Tomcat給吃掉了,Nginx幫我們做好了負載均衡,Tomcat則幫我們完成TCP連接的建立,HTTP請求的處理,把所有複雜的技術細節都給屏蔽了。

不過隨著技術發展和更迭,大公司對於人才的要求也越來越高,對於高併發服務端編程能力的要求也在提高,比如在直播、實時通訊、游戲服務端開發等技術領域,通信協議和網路編程就成為了很重要的一個技術課題,相應的在Java領域,我們就必須要瞭解NIO、Linux epoll以及Netty等和網路通信相關的技術。如果你想做基礎技術研發,比如消息隊列、RPC框架的研發,那麼網路編程也是必備的基礎能力。

那麼今天我們就藉此機會,來介紹幾本關於Java網路編程方面的優質書籍,以幫助大家更好地掌握這方面的知識,我們將從Java Web出發,依次介紹NIO網路編程、Tomcat的設計原理,以及Netty這類通信編程框架領域的權威書籍。

消息隊列系列書單

分散式消息中間件實踐

消息中間件是分散式系統中的重要組件,在實際工作中常用消息中間件進行系統間數據交換,從而解決應用解耦、非同步消息、流量削峰等問題,實現高性能、高可用、可伸縮和最終一致性架構。

目前市面上可供選擇的消息中間件有RabbitMQ、ActiveMQ、Kafka、RocketMQ、ZeroMQ、MetaMQ等。本書結合作者近年來在實際項目中使用消息中間件的經歷和踩過的一些坑總結整理而成,主要介紹消息中間件使用的背景、基本概念,以及常用的四種消息中間件產品在各個業務場景中的使用案例。

作為案例介紹,雖然不能對各種消息中間件產品的所有特性做詳細說明,但是希望讀者可以通過每章中的案例討論和實踐建議得到啟發,為在實際工作中進行產品選型、業務場景方案制定、性能調整等提供思路。

作者介紹

蘇寧軟體技術有限公司資深工程師,主要負責系統架構設計,消息中間件開發等工作。有多年的大型網站開發經驗及消息中間件應用經驗。

RabbitMQ實戰指南

《RabbitMQ實戰指南》從消息中間件的概念和RabbitMQ的歷史切入,主要闡述RabbitMQ的安裝、使用、配置、管理、運維、原理、擴展等方面的細節。《RabbitMQ實戰指南》大致可以分為基礎篇、進階篇和高階篇三個部分。

基礎篇首先介紹RabbitMQ的基本安裝及使用方式,方便零基礎的讀者以最舒適的方式融入到RabbitMQ之中。其次介紹RabbitMQ的基本概念,包括生產者、消費者、交換器、隊列、綁定等。之後通過Java語言講述了客戶端如何與RabbitMQ建立(關閉)連接、聲明(刪除)交換器、隊列、綁定關係,以及如何發送和消費消息等。

進階篇講述RabbitMQ的 TTL、死信、延遲隊列、優先順序隊列、RPC、消息持久化、生產端和消費端的消息確認機制等內容,以期讀者能夠掌握RabbitMQ的使用精髓。《RabbitMQ實戰指南》中間篇幅主要從RabbitMQ 的管理、配置、運維這三個角度來為讀者提供幫助文檔及解決問題的思路。高階篇主要闡述RabbitMQ的存儲機制、流控及鏡像隊列的原理,深入地講述RabbitMQ的一些實現細節,便於讀者加深對RabbitMQ的理解。

《RabbitMQ實戰指南》還涉及網路分區的概念,此內容可稱為魔鬼篇,需要掌握前面的所有內容才可理解其中的門道。《RabbitMQ實戰指南》最後講述的是RabbitMQ的一些擴展內容及附錄,供讀者參考之用。

作者簡介

電腦碩士畢業,在互聯網公司擔任高級開發工程師,從事消息中間件的研究及開發,主要包括RabbitMQ和Kafka。

**RocketMQ實戰與原理解析  **

本書由雲棲社區官方出品。

作者是阿裡資深數據專家,對RocketMQ有深入的研究,並有大量的實踐經驗。在寫這本書之前,作者不僅系統、深入地閱讀了RocketMQ的源代碼,而且還向RocketMQ的官方開發團隊深入瞭解了它的諸多設計細節。

作者結合自己多年使用RocketMQ的經驗,從開發和運維兩個維度,給出了大部分場景下的優秀實踐,能幫助讀者在學會使用和用好RocketMQ的同時,儘量少“踩坑”。同時,本書也結合源碼分析了分散式消息隊列的原理,使讀者可以在複雜業務場景下定製有特殊功能的消息隊列。

作者簡介

楊開元,阿裡巴巴數據專家,畢業於北京大學,有10年IT行業研發經驗。對RocketMQ有深入的研究,是RocketMQ源碼貢獻者。曾就職於甲骨文和獵豹移動,專註於大數據和實時計算。在大量的工作實踐中,對MySQL、J2EE、JVM、Spring、Hadoop、Kafka、Storm、Flink都有深入研究。喜歡剖析源碼,分析原理,為開源項目貢獻代碼。

《Kafka入門與實踐》

《Kafka入門與實踐》以Kafka 0.10.1.1版本以基礎,對Kafka的基本組件的實現細節及其基本應用進行了詳細介紹,同時,通過對Kafka與當前大數據主流框架整合應用案例的講解,進一步展現了Kafka在實際業務中的作用和地位。本書共10章,按照從抽象到具體、從點到線再到面的學習思維模式,由淺入深,理論與實踐相結合,對Kafka進行了分析講解。

《Kafka入門與實踐》中的大量實例來源於作者在實際工作中的實踐,具有現實指導意義。相信讀者閱讀完本書之後,能夠全面掌握Kafka的基本實現原理及其基本操作,能夠根據書中的案例舉一反三,解決實際工作和學習中的問題。此外,在閱讀本書時,讀者可以根據本書對Kafka理論的分析,再結合Kafka源碼進行定位學習,瞭解Kafka的設計和思想以及更多的編碼技巧。

《Kafka入門與實踐》適合應用Kafka的專業技術人員閱讀,包括但不限於大數據相關應用的開發者、運維者和愛好者,也適合高等院校、培訓結構相關專業的師生使用。

作者簡介

牟大恩,武漢大學碩士,曾先後在網易杭州研究院、掌門科技、優酷土豆集團擔任高級開發工程師和資深開發工程師職務,目前就職於海通證券總部。有多年的Java開發及系統設計經驗,專註於互聯網金融及大數據應用相關領域。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • electron設置托盤 // 設置系統托盤 const setAppTray = () => { // 托盤對象 var appTray = null // 系統托盤右鍵菜單 var trayMenuTemplate = [ { label: '退出', click: function() { / ...
  • 1、Web開發分類與區別 人們通常將Web分為前端和後端,前端相關的職位有前端設計師(UI/UE),前端開發工程師,後端相關的有後端開發工程師。 2、技術棧區別 在各大招聘網站上,公司對前端開發工程師的要求莫過於精通HTML,CSS,JS,有良好的交互設計能力等。再看公司對後端開發工程師的要求: 比 ...
  • # jQuery工具方法 - 1.$.type() 判斷數據類型 $.isArray() $.isFunction() $.isWindow() ```js console.log($.type(undefined));//undefined console.log($.type('abc'));/ ...
  • 前端開發框架從最開始的jquery時代,到後來backbone,angular1,再到現在vue和react兩分天下,也才用了不到十年的光景。 最開始jquery是為瞭解決瀏覽器相容性的問題而火起來的,準確的說它只是一個庫,而不能成為框架。但隨著前端頁面的複雜度的增加,漸漸數據驅動和mv*的思想開始 ...
  • 【目錄】 一、分支結構 二、迴圈結構 三、JavaScript 對象 一、分支結構 二、迴圈結構 三、JavaScript 對象 ...
  • 【目錄】 一、變數的定義 二、變數的命名規範 三、基本數據類型 1、值類型 2、引用類型 四、運算符 1、算數運算符 2、賦值運算符 3、比較運算符 4、邏輯運算符 5、三目運算符 一、變數的定義 # 在js中 首次定義一個變數名的時候需要用關鍵字聲明 1.es5 :關鍵字var 定義變數,沒有常量 ...
  • 單例模式是保證一個類的實例有且只有一個,在需要控制資源(如資料庫連接池),或資源共用(如有狀態的工具類)的場景中比較適用。如果讓我們寫一個單例實現,估計絕大部分人都覺得自己沒問題,但如果需要實現一個比較完美的單例,可能並沒有你想象中簡單。本文以主人公小雨的一次面試為背景,循序漸進地討論如何實現一個較 ...
  • ​ _文/黃小斜_ _轉載請註明出處_ 新手學習電腦並非易事,作為一個自學編程的過來人,深知打好電腦基礎的重要性,缺少了堅實的電腦的基礎,往往你也難以往上走,即使學了再多高大上的技術,也都是在沙臺上築高樓,缺少根基,搖搖欲墜。 學好電腦基礎,方法方式很多,有的同學可以選擇聽課,有的同學可以到 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...