原创 從 Spring Cloud 看一個微服務框架的「五臟六腑」

Spring Cloud 是一個基於 Spring Boot 實現的微服務框架,它包含了實現微服務架構所需的各種組件。注:Spring Boot 簡單理解就是簡化 Spring 項目的搭建、配置、組合的框架。因爲與構建微服務本身沒有直接關係

原创 Netty 防止內存泄漏措施

背景1.1 直播平臺內存泄漏問題某直播平臺,一些網紅的直播間在業務高峯期,會有 10W+ 的粉絲接入,如果瞬間發生大量客戶端連接掉線、或者一些客戶端網絡比較慢,發現基於 Netty 構建的服務端內存會飆升,發生內存泄漏(OOM),導致直播

原创 如何找到 Kafka 集羣的吞吐量極限?

Kafka 是非常流行的分佈式流式處理和大數據消息隊列解決方案,在技術行業已經得到了廣泛採用,在 Dropbox 也不例外。Kafka 在 Dropbox 的很多分佈式系統數據結構中發揮着重要的作用:數據分析、機器學習、監控、搜索和流式處理

原创 深入理解Java中的底層阻塞原理及實現

談到阻塞,相信大家都不會陌生了。阻塞的應用場景真的多得不要不要的,比如 生產-消費模式,限流統計等等。什麼 ArrayBlockingQueue、 LinkedBlockingQueue、DelayQueue 等等,都是阻塞隊列的實現啊,多

原创 Docker 加入裁員大軍,關鍵時期 Docker 將何去何從?

上週,Docker 公司傳出正在裁員,裁員比例爲 10%。關於裁員,Docker 的發言人說比例達不到這個數,與此同時,Docker 還在招聘高管。 Docker 現任 CEO Steve Singh 25 日表示,雖然最近 Docker

原创 分佈式系統常見的事務處理機制

爲保障系統的可用性、可靠性以及性能,在分佈式系統中,往往會設置數據冗餘,即對數據進行復制。舉例來說,當一個數據庫的副本被破環以後,那麼系統只需要轉換到其他數據副本就能繼續運行下去。另外一個例子,當訪問單一服務器管理的數據的進程數不斷增加時,

原创 通過源碼分析MyBatis的緩存

MyBatis緩存介紹 MyBatis支持聲明式數據緩存(declarative data caching)。當一條SQL語句被標記爲“可緩存”後,首次執行它時從數據庫獲取的所有數據會被存儲在一段高速緩存中,今後執行這條語句時就會從高速緩存

原创 阿里員工吐槽:杭州22k拿到頭條35k和shopee33k的offer,怎麼選?

去年,有職場上的朋友在小編後臺留言問我有關offer選擇的問題,說自己接到兩個看起來都是不錯公司的offer,比來比去,不知道究竟選擇哪個。小編看後,給她留言給她介紹了一些判斷offer的角度,就是找到兩家公司高管的講演與格局去做一個對比,

原创 消息中間件Kafka與RabbitMQ誰更勝一籌?

在 IM 這種講究高併發、高消息吞吐的互聯網場景下,MQ 消息中間件是個很重要的基礎設施,它在 IM 系統的服務端架構中擔當消息中轉、消息削峯、消息交換異步化等角色。當然,MQ 消息中間件的作用遠不止於此,它的價值不僅僅存在於技術上,更重要

原创 Dubbo源碼解析 — 服務引用原理

前言經過上一篇dubbo源碼解析-簡單原理、與spring融合的鋪墊,我們已經能簡單的實現了dubbo的服務引用.其實上一篇中的代碼,很多都是從dubbo源碼中複製出來,甚至有些類名,變量名都沒改.那請問,我爲什麼要這麼做? 我認爲學習一個

原创 Dubbo源碼解析 — 服務引用原理

前言經過上一篇dubbo源碼解析-簡單原理、與spring融合的鋪墊,我們已經能簡單的實現了dubbo的服務引用.其實上一篇中的代碼,很多都是從dubbo源碼中複製出來,甚至有些類名,變量名都沒改.那請問,我爲什麼要這麼做? 我認爲學習一個

原创 Kafka不停機,如何無感知遷移ZooKeeper集羣?

Kafka 在 Yelp 的應用十分廣泛,Yelp 每天通過各種集羣發送數十億條消息,在這背後,Kafka 使用 Zookeeper 完成各種分佈式協調任務。因爲Yelp 非常依賴 Kafka,那麼問題來了,它是否可以在不引起 Kafka

原创 面試題:2018最全Redis面試題整理

1、什麼是Redis?Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。 Redis 與其他 key - value 緩存產品有以下三個特點:Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重

原创 Java集合框架面試問題集錦

Java集合框架(例如基本的數據結構)裏包含了最常見的Java常見面試問題。很好地理解集合框架,可以幫助你理解和利用Java的一些高級特性。下面是面試Java核心技術的一些很實用的問題。Q:最常見的數據結構有哪些,在哪些場景下應用它們?A.

原创 構建高可用ZooKeeper集羣

ZooKeeper 是 Apache 的一個頂級項目,爲分佈式應用提供高效、高可用的分佈式協調服務,提供了諸如數據發佈/訂閱、負載均衡、命名服務、分佈式協調/通知和分佈式鎖等分佈式基礎服務。由於 ZooKeeper 便捷的使用方式、卓越的性