原创 淺談Zookeeper【三】ZK中Leader選舉算法

文章目錄一、前言二、Leader選舉基本概念集羣服務節點狀態 State:選票模型 Vote選舉網絡通信管理器 QuorumCnxManager三、Leader選舉觸發時機四、Leader選舉過程集羣初始化選舉Leader宕機後選

原创 淺談Zookeeper【二】ZAB協議原理

目錄ZAB協議介紹ZAB協議基本特性ZAB協議核心ZAB協議基本模式崩潰恢復與消息廣播ZAB協議內部原理總結 ZAB協議介紹 ZAB協議(Zookeeper Atomic Broadcast)時Zk中保證數據一致性的重要協議,是基

原创 淺談Zookeeper【一】Zookeeper基礎知識介紹

前言 由於在實際工作中,幾乎都是使用公司提供的基礎服務或者採用開源的框架,很少與ZK實際打交道,對ZK的底層原理一知半解,無法將各個知識點串起來,所以打算記錄下自己所瞭解的ZK,並且將學習回顧知識彙總。 本文作爲Zk系列知識的開篇

原创 JAVA設計模式【一】 - 簡單工廠模式、工廠方法模式、抽象工廠模式

  簡單工廠模式(靜態工廠模式):        普通工廠模式就是創建一個工廠類,創建並返回多個實現相同接口的類的實例。 例子:根據傳遞的類型生產不同的食物。      有一個生產食物的接口: /** * Created by j on

原创 JAVA設計模式【二】 - 單例模式

單例模式       單例模式是比較常用和容易理解的一種設計模式,目的是一個單例對象的類只允許存在一個實例。 常用的例如數據庫連接池和多線程的線程池就是單例模式的。   單例模式的幾種實現方式:   餓漢模式:   /** * Crea

原创 分佈式與併發【四】淺談分佈式一致性算法Raft

這裏寫目錄標題前言基礎概念介紹一、Raft的重要功能二、Raft的角色三、Leader任期(Term)四、服務通信Leader選舉一、什麼是Leader的選舉?二、超時三、選舉的條件四、選舉流程日誌複製一、日誌複製概念二、日誌複製

原创 [JAVA工具類]-大數據Excel生成導出

前言 在實際工作中,經常會需要進行Excel文件的下載導出,並且有時希望通過異步下載來進行實現或者需要下載數據量很大。爲防止各個系統重複造輪子,本文通過註解方式來實現Excel的普通、分片生成。 依賴Jar包

原创 分佈式與併發【三】淺談分佈式一致性算法Paxos

一、前言 說到分佈式一致性算法,那麼必然不可避免談到Paxos,Paxos算法在分佈式領域地位非常重要,接下來簡單記錄下Paxos算法的原理。由於個人水平有限,如有錯誤還請諒解,本文參考書籍《從Paxos到ZooKeeper》與一

原创 JAVA基礎-synchronized關鍵字

synchronized關鍵字也叫作互斥鎖或者同步。   這個關鍵字的存在是爲了解決編程中的線程安全問題的,而線程安全問題出現的主要原因一般爲:多個線程操作同一個對象的數據,也就是同時操作共享變量的值。   synchronized的出現

原创 JAVA基礎-JMM內存模型

JAVA內存模型稱爲JMM,指JAVA虛擬機在內存中工作的方式。   其中最主要的是理解JAVA內存模型定義多線程之間的通信方式和保證共享變量的可見性,以及如何對共享變量進行同步。   在理解java內存模型之前首先必須知道一些基礎的原理

原创 JAVA基礎-volatile關鍵字

首先我們知道在java中內存的交互有以下幾點。   Read Load 和 Store Write 兩對操作不可分割。   Lock(鎖定):作用於主內存的變量,他把變量標識爲一個線程獨佔的狀態。 UnLock(解鎖) :作用於主內存

原创 SpringCloud【一】搭建Eureka單點或集羣服務

當一個項目想採用微服務架構時,首先想到的就是springCloud,SpringCloud可以很好的搭配docker來進行服務的提供。 但是怎麼來管理這些服務呢,spring目前採用的是eureka註冊中心,本文將通過圖文的方式來簡單搭建

原创 簡談JAVA基礎--基本數據類型和封裝類型

java基本數據類型根據字節佔用順序包括boolean,byte,char,short,int,float,long,double   計算機中一個字節代表8位。根據各個類型所佔用字節數可以得到表示的範圍爲 -2^位數   ——  2^位

原创 RabbitMQ系列【一】安裝Erlang與RabbitMQ

其實最好的辦法就是閱讀官網文檔rabbitmq安裝這裏採用的Erlang版本爲22.0.1,Mq版本爲3.7.15 CentOS7安裝Erlang下載Erlang安裝包,可以到官網去找各種版本 wget https://packa

原创 分佈式與併發【二】淺談分佈式一致性協議2PC與3PC

前言: 在分佈式系統體系中,爲保證數據的一致性,產生了一系列的一致性協議,其中最爲著名的就是2PC和3PC協議,以及現在廣泛使用的真正解決一致性的Paxos算法,本篇只講述2PC和3PC,下一篇再介紹Paxos算法。 在分佈式系統