原创 jvm 內存結構,GC相關內容和調優

參考博客:https://www.tpvlog.com/article/86 1. jvm內存結構  大致的結構如上圖所示。 注意: 新生代的地方,HotSpot VM(虛擬機的一種實例)對新生代採用了複製回收算法來實現gc的垃圾回收。

原创 zookeeper實現服務器動態上下線,分佈式鎖

通過前面的Zookeeper學習,我做了幾個例子來鞏固以下: 1.服務器動態上下線 需求:app client可以感知到app server的上下線(app client和app server是指我們的應用服務器) 大致思路: app s

原创 java多線程併發包中的executors框架(線程池)和Fork/Join框架

1. 概述 1.1 Executor 是JDK1.5時引入的,引入該接口的主要目的是解耦任務本身和任務的執行。我們之前通過線程執行一個任務時,往往需要先創建一個線程,然後調用線程的start方法來執行任務。而Executor接口解耦了任務

原创 多線程安全問題的基礎內容和理解

線程安全問題 三大特性 原子性、可見性、有序性 什麼是原子性 原子性是指在一個操作中就是cpu不可以在中途暫停然後再調度,即不被中斷操作,要不全部執行完成,要不都不執行。就好比轉賬,從賬戶A向賬戶B轉1000元,那麼必然包括2個操作:從賬

原创 java多線程併發包中的locks,atomic,sync ,collections

1. 併發包概述 在多線程編程時,java.util.concurrent包是非常重要的 按照功能劃分: locks 鎖框架 atomic 原子類框架 sync 同步器框架 collections 集合框架 executors 執行器框架

原创 spring cloud Zuul 過濾器

介紹 Zuul的路由功能在上一篇博客中已經寫過了,這篇主要是寫下zuul 的過濾器怎麼用 zuul的過濾器功能負責對請求的處理結果進行干預,可實現請求校驗等功能,每一個進入Zuul的Http請求都會經過一系列的過濾器處理鏈得到請求響應並返

原创 spring cloud bus的使用及使用bus發佈自定義事件

1. spring cloud bus介紹 Spring cloud bus使用輕量級消息代理將分佈式系統的節點連接起來,可以使用此代理,廣播狀態更改(例如配置更改)或其他管理指令。它可以用作應用程序之間的通信通道。該項目提供了兩種消息傳

原创 spring cloud sleuth的使用,與ziplin整合及解決zipkin版本問題引起的bug

1.介紹 由於微服務很複雜,當服務多了之後,就需要有一個東西去記錄服務之間的調用,這樣可以快速定位問題,且最好能同時記錄服務之間的調用時長等信息,方便優化系統。spring cloud sleuth就有這樣的作用。我們稱這種技術叫做服務鏈

原创 spring 事件的使用

1. 介紹 事件Event驅動模型實際也被稱之或者發佈/訂閱模型。Spring中,也爲我們提供了這樣的框架,採用Event/Listener這樣的好處自然不用多說,就是解耦,利於擴展,並且利於一對多這種形式,我們下面就來介紹下Spring

原创 spring cloud bus 實現config配置的動態更新

1 消息總線bus 簡單理解就是一個消息中心,衆多微服務實例可以連接到總線上,實例可以往消息中心發送或接收信息(通過監聽)。比如:實例A發送一條消息到總線上,總線上的實例B可以接收到信息(實例B訂閱了實例A),這樣的話,消息總線就充當一箇

原创 springboot 整合 rabbitmq及其安裝和新建用戶後的小bug的解決

1.安裝rabbitmq 在windows系統上安裝rabbitmq 參考博客:https://www.cnblogs.com/saryli/p/9729591.html 2. 創建項目 2.1 引入依賴 <!--支持rabbitmq-

原创 spring cloud zuul 路由的使用

1.介紹 Zuul是spring cloud中的微服務網關。網關: 是一個網絡整體系統中的前置門戶入口。請求首先通過網關,進行路徑的路由,定位到具體的服務節點上。也減少了客戶端與服務端的耦合,服務可以獨立發展,通過網關層來做映射 Zuul

原创 spring cloud feign的學習與使用

說明 官方說明:Feign是一個聲明性web服務客戶端。它使編寫web服務客戶機更容易。使用Feign創建一個接口並註釋它。它具有可插入的註釋支持,包括Feign註釋和JAX-RS註釋。Feign也支持可插拔編碼器和解碼器。 個人理解:F

原创 spring cloud ribbon的使用

Ribbon是什麼 ribbon是一種可以實現客戶端負載均衡的組件,它和服務端負載均衡有什麼區別呢? 客戶端負載均衡:  原理:部署在客戶端,客戶端獲取所有的服務器列表,然後可以根據各自不同客戶端的負載均衡算法,找到要訪問的服務器 優勢

原创 Spring cloud Hystrix

熔斷器Hystrix 熔斷器的原理很簡單,如同電力過載保護器。它可以實現快速失敗,如果它在一段時間內偵測到許多類似的錯誤,會強迫其以後的多個調用快速失敗,不再訪問遠程服務器,從而防止應用程序不斷地嘗試執行可能會失敗的操作,使得應用程序繼續