原创 Dubbo學習筆記-Dubbo的負載均衡策略

當服務提供方是集羣的時候,爲了避免大量請求一直落到一個或幾個服務提供方機器上,從而使這些機器負載很高,甚至打死,需要做一定的負載均衡策略。Dubbo提供了多種均衡策略,缺省爲random,也就是每次隨機調用一臺服務提供者的機器。 Dubb

原创 分佈式系統開發技術--RPC技術

RPC是什麼? RPC是指遠程過程調用,也就是說兩臺服務器A,B,一個應用部署在A服務器上,想要調用B服務器上應用提供的函數/方法,由於不在一個內存空間,不能直接調用,需要通過網絡來表達調用的語義和傳達調用的數據。爲什麼要用RPC呢?就是

原创 Netty責任鏈模式

責任鏈模式 責任鏈模式的定義:使多個對象都有機會處理請求,從而避免請求的發送者和接受者之間的耦合關係, 將這個對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有一個對象處理他爲止。責任鏈模式的重點在“鏈上”,由一條鏈去處理相似的請求,在鏈中決

原创 分佈式理論Base 理論歸納

1. 什麼是 Base 理論 BASE:全稱:Basically Available(基本可用),Soft state(軟狀態),和 Eventually consistent(最終一致性)三個短語的縮寫,來自 ebay 的架構師提出。

原创 線上發生線程死鎖問題,怎麼排查?

記一次面試騰訊全資子公司問到的問題,其中問到的一個問題,線上環境發生死鎖,你怎麼排查?我的回答時找到對應機器及對應進程號,根據命令jstack pid命令即可找到死鎖原因。現用一個實際例子演示一下,以加深自己的記憶。 先寫一段死鎖代碼,如

原创 docker學習筆記:docker-compose

介紹 Docker開源項目,負責實現對Docker容器集羣的快速編排。 通過一個單獨的docker-compose.yml模板文件,來定義一組相關聯的應用容器爲一個項目。 概念 Compose默認管理對象是項目,通過子命令對項目中的一組容

原创 NIO網絡編程三大核心理念

什麼是NIO? Java NIO(New IO)是一個可以替代標準Java IO API的IO API(從Java 1.4開始),Java NIO提供了與標準IO不同的IO工作方式。NIO可以理解爲非阻塞IO,傳統的IO的read和wri

原创 Redis學習筆記--Redis基本類型及其數據結構

什麼是Redis? Redis(全稱:Remote Dictionary Server 遠程字典服務)是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。它通常被

原创 docker快速搭建mysql主從

1.從遠程倉庫拉取mysql-master鏡像並啓動容器(下面整段複製黏貼即可使用) docker run --name mysql-master --privileged=true -v /home/mysql/master-data

原创 分佈式系統的CAP理論歸納

理論首先把分佈式系統中的三個特性進行了如下歸納: 一致性(C):在分佈式系統中的所有數據備份,在同一時刻是否同樣的值。(等同於所有節點訪問同一份最新的數據副本) 可用性(A):在集羣中一部分節點故障後,集羣整體是否還能響應客戶端的讀寫請求

原创 Docker主要知識點彙總

1.什麼是Docker? Docker是一種新的容器化技術,爲應用開發和部署提供“一站式”容器解決方案,能幫助開發者高效快速的構建應用,實現“Build,Ship and Run Any App, Anywhere”,從而達到“一次構建,

原创 Zookeeper知識點整理

1.ZooKeeper是什麼? ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,它是集羣的管理者,監視着集羣中各個節點的狀態根據節點提交的反饋進行下一步合理操作。最終,將簡單

原创 記一次面試騰訊全資子公司問到的問題

 1.你項目中用到了spring cloud,請問你用了哪些spring cloud組件? 答:服務發現——Netflix Eureka,客服端負載均衡——Netflix Ribbon, 斷路器——Netflix Hystrix,服務網關

原创 Flink入門(7)----Flink DataSet 容錯

Flink DataSet 容錯有兩種策略,分別是固定延時重啓和失敗率重啓。 批處理容錯 • 批處理(DataSet API)容錯是基於失敗重試實現的。 • Flink支持不同的重啓策略,這些策略控制在出現故障時如何重新啓動job,下

原创 Flink 入門(1)----DataSet API使用之單詞詞頻統計

Flink分別提供了面向流式處理的接口(DataStream API)和麪向批處理的接口(DataSet API,因此,Flink既可以完成流處理,也可以完成批處理。 每個Flink程序都包含以下的若干流程: 獲得一個執行環境;(Exe