原创 《Redis實現分佈式鎖》一、JAVA實現Redis分佈式鎖

在Java中,關於鎖我想大家都很熟悉。在併發編程中,我們通過鎖,來避免由於競爭而造成的數據不一致問題。通常,我們以synchronized 、Lock來使用它。 但是Java中的鎖,只能保證在同一個JVM進程內中執行。如果在分佈式集羣環境

原创 《分佈式服務框架Dubbo》一、Dubbo原理和應用

一、dubbo的架構思路 1.1 dubbo框架設計 dubbo官網的架構設計提供了一張整體的框架圖,10個層級看起來挺嚇人的。但是其核心總結起來就是:Microkernel + Plugin(微內核+插件)。 微內核+插件機制   官

原创 《分佈式實時計算系統之Storm》一、基本原理

Storm架構 Storm是一個分佈式、可靠的實時計算系統。與Hadoop不同的是,它採用流式的消息處理方法,對於每條消息輸入到系統中後就能被立即處理。適用於一些對實時性要求高的場景,比如廣告點擊在線統計、交易額實時統計等。 一些名詞解釋

原创 《大數據計算引擎之Spark》一、基本原理

  前兩篇我們講了spark的基礎知識,包括spark的體系結構、執行框架、spark的基本數據類型以及spark中stage的劃分等等。本篇要介紹spark運行的原理。包括spark的內部執行機制,spark的基本數據類型RDD的執行流

原创 《微服務網關之Zuul》一、基礎知識

一、前言 Zuul 網關是具體核心業務服務的看門神,相比具體實現業務的系統服務來說它是一個邊緣服務,主要提供動態路由,監控,彈性,安全性等功能。在分佈式的微服務系統中,系統被拆爲了多套系統,通過zuul網關來對用戶的請求進行路由,轉發到具

原创 《微服務治理之熔斷降級Hystrix》一、基礎知識

  0. Hystrix是什麼? Hystrix的本意是指 豪豬 的動物,它身上長滿了很長的較硬的空心尖刺,當受到攻擊時,通過後退的方式使其尖刺刺入敵方的身體。作爲這種特徵的引申,Netflix公司在分佈式微服務架構的踐行下,將其保護服務

原创 分佈式定時任務原理以及解決方案-指定時間執行定時任務

分佈式定時任務原理以及實現 一、單機指定時間執行定時任務實現方式 Timer運行機制 ScheduledThreadPoolExecutor的運行機制 原理圖 Leader/Follower模式 Timer和ScheduledThrea

原创 【大數據分析之Hadoop】一、Hadoop基本原理

一、hadoop概念 Hadoop由兩部分組成,一是負責存儲與管理文件的分佈式文件系統HDFS、二是負責處理與計算的MapReduce的計算框架。 二、HDFS 1.namenode 負責管理工作(管理文件系統的目錄結構,元數據信息

原创 《微服務治理之Euraka》一、基礎知識

作用:服務治理(服務註冊與發現) 兩個概念: 服務註冊:每個服務單元向註冊中心登記自己提供的服務,註冊的信息含括主機與端口號、版本號、通信協議等。服務中心會維護一個服務清單,同時使用心跳的方式檢測清單中的服務是否可用,若不可用則需要從服

原创 《分佈式消息系統之Kafka》一、基本原理

兩張圖讀懂kafka應用: image.png   image.png 1. Kafka 中的術語 broker:中間的kafka cluster,存儲消息,是由多個server組成的集羣。 topic:kafka給消息提供的分類方式

原创 《微服務框架之Spring Cloud》一、簡介

本文中我們主要介紹微服務開發框架——Spring Cloud。儘管Spring Cloud帶有"Cloud"的字樣,但它並不是雲計算解決方案,而是Spring Boot的基礎上構建的,用於快速構建分佈式系統的通用模式的工具集。 Sprin

原创 《JAVA網絡編程框架之Netty》一、初識Netty

Netty 什麼是Netty? Netty 是一個利用 Java 的高級網絡的能力,隱藏其背後的複雜性而提供一個易於使用的 API 的客戶端/服務器框架。 Netty 是一個廣泛使用的 Java 網絡編程框架(Netty 在 2011

原创 《微服務之RPC框架之Feign》一、基礎知識

什麼是Feign? Feign 的英文表意爲“假裝,僞裝,變形”, 是一個http請求調用的輕量級框架,可以以Java接口註解的方式調用Http請求,而不用像Java中通過封裝HTTP請求報文的方式直接調用。Feign通過處理註解,將請求

原创 《分佈式數據庫之HBase》一、基本原理

  前言:掌握Hbase的重要性不言而喻,掌握Hbase的設計原理更是重中之重。本文是對HBase原理進行講解系列文章的開篇,本文儘量詳細的從整體上介紹HBase的架構,並對每個部分的名詞進行初步解釋,使我們對HBase有個整體的瞭解。

原创 【Spring Boot】@Scheduled註解各參數詳解

@Scheduled註解的使用這裏不詳細說明,直接對8個參數進行講解。 參數詳解 1. cron 該參數接收一個cron表達式,cron表達式是一個字符串,字符串以5或6個空格隔開,分開共6或7個域,每一個域代表一個含義。 cron表達式