微服務(wù)實(shí)戰(zhàn)SpringCloud之HystrixHystrix是什么? 在微服務(wù)架構(gòu)中,微服務(wù)之間互相依賴較大,相互之間調(diào)用必不可免的會(huì)失敗。但當(dāng)下游服務(wù)A因?yàn)樗矔r(shí)流量導(dǎo)致服務(wù)崩潰,其他依賴于A服務(wù)的B、C服務(wù)由于調(diào)用A服...
微服務(wù)實(shí)戰(zhàn)SpringCloud之HystrixHystrix是什么? 在微服務(wù)架構(gòu)中,微服務(wù)之間互相依賴較大,相互之間調(diào)用必不可免的會(huì)失敗。但當(dāng)下游服務(wù)A因?yàn)樗矔r(shí)流量導(dǎo)致服務(wù)崩潰,其他依賴于A服務(wù)的B、C服務(wù)由于調(diào)用A服...
??
微服務(wù)實(shí)戰(zhàn)SpringCloud之HystrixHystrix是什么? 在微服務(wù)架構(gòu)中,微服務(wù)之間互相依賴較大,相互之間調(diào)用必不可免的會(huì)失敗。但當(dāng)下游服務(wù)A因?yàn)樗矔r(shí)流量導(dǎo)致服務(wù)崩潰,其他依賴于A服務(wù)的B、C服務(wù)由于調(diào)用A服...
前言 Mybatis參數(shù)處理是Mybatis核心內(nèi)容,圍繞著Mybatis的面試題也是層出不窮。接下來跟隨源碼看下Mybatis是如何處理參數(shù)的。 代碼示例 Mapper X...
隨著分布式系統(tǒng)的流行,分布式鎖的需求也越來越強(qiáng)。網(wǎng)上很多基于Redis實(shí)現(xiàn)的分布式鎖,但是大大小小都有些問題。本文基于Redis給出實(shí)現(xiàn)及一些問題的分析。 基于Redis單節(jié)...
數(shù)據(jù)結(jié)構(gòu) Redis字符串 (SDS) ? 相比C字符串區(qū)別 通過len屬性,獲取字符串長(zhǎng)度復(fù)雜度為O(1) 避免C字符串修改時(shí)忘記修改字符串長(zhǎng)度導(dǎo)致的內(nèi)存溢出(SDS本...
一,餓漢式 優(yōu)點(diǎn):線程安全,實(shí)現(xiàn)簡(jiǎn)單。 缺點(diǎn):類加載時(shí)就初始化了,沒有實(shí)現(xiàn)懶加載。 public final class HungrySingleTon { }二,餓漢式(線...
名詞解釋 靜態(tài)代理:編譯期就已確定代理對(duì)象。即編碼出代理類。 動(dòng)態(tài)代理:運(yùn)行時(shí)動(dòng)態(tài)生成代理對(duì)象??蓪?duì)被代理類做出統(tǒng)一的處理,如日志打印,統(tǒng)計(jì)調(diào)用次數(shù)等。 JDK動(dòng)態(tài)代理:即J...
Hystrix是什么? 在微服務(wù)架構(gòu)中,微服務(wù)之間互相依賴較大,相互之間調(diào)用必不可免的會(huì)失敗。但當(dāng)下游服務(wù)A因?yàn)樗矔r(shí)流量導(dǎo)致服務(wù)崩潰,其他依賴于A服務(wù)的B、C服務(wù)由于調(diào)用A服...
定義 像現(xiàn)有的一個(gè)對(duì)象添加新的功能,同時(shí)又不改變其結(jié)構(gòu),它是作為現(xiàn)有的一個(gè)類的包裝。 裝飾模式創(chuàng)建了一個(gè)裝飾類,包裝了原有的類,而又不改變其內(nèi)部結(jié)構(gòu),同時(shí)增加新的功能。 適用...
定義 將事物實(shí)現(xiàn)從各維度抽象出來,各維度獨(dú)立變化,之后通過聚合或依賴的方式組合起來,減少各維度之間的相互耦合,從而更加適合變化。 適用于 當(dāng)一種事物在多個(gè)維度都有比較靈活的變...
規(guī)范前言: 1.保證數(shù)據(jù)庫高可用:制定3重高可用(容災(zāi))架構(gòu),主備架構(gòu)、同城容災(zāi)、異地容災(zāi)(可以采用mha、pxc等高可用架構(gòu),注意數(shù)據(jù)可能丟失風(fēng)險(xiǎn)) 2.根據(jù)業(yè)務(wù)了解熱...
說明 將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作簡(jiǎn)單來說:作為兩個(gè)不同接口的橋梁,負(fù)責(zé)加入不同的接口功能。...
原子操作,意為不可分割、不可中斷的操作。單處理器實(shí)現(xiàn)原子操作很簡(jiǎn)單,因?yàn)榫鸵粋€(gè)處理器,不會(huì)有并發(fā)問題,那么在多處理器中要實(shí)現(xiàn)原子操作就比較復(fù)雜。 處理器如何實(shí)現(xiàn)原子操作? 首...
synchronized和volatile在java并發(fā)領(lǐng)域扮演者重要的角色。其中,synchronized一直給人的印象就是重量級(jí)鎖,volatile是輕量級(jí)鎖。隨著Jav...
并發(fā)編程的目的是讓程序運(yùn)行的更快,同時(shí)提高CPU等硬件的使用率。但是,并不是啟動(dòng)更多的線程就能讓程序最大限度的執(zhí)行。在進(jìn)行并發(fā)編程時(shí),如果希望通過多線程執(zhí)行任務(wù)讓程序運(yùn)行的更...
注意:本文的前提是基于zuul的1.3.X版本來解析的,2.0版本采用了netty作為底層框架重新設(shè)計(jì)了整個(gè)zuul的架構(gòu),將在后面進(jìn)行分析。 zuul是什么 zuul是Ne...
上一篇簡(jiǎn)單介紹了springcloud聲明式服務(wù)調(diào)用Feign的使用,接下來分析下Feign的源碼,具體實(shí)現(xiàn)及為什么如此實(shí)現(xiàn)。 啟動(dòng)時(shí)Feign的處理 啟動(dòng)類上使用了@Ena...
Feign的目標(biāo) feign是聲明式的web service客戶端,它讓微服務(wù)之間的調(diào)用變得更簡(jiǎn)單了,類似controller調(diào)用service。Spring Cloud集成...
在生產(chǎn)環(huán)境中,數(shù)據(jù)庫數(shù)據(jù)一般都是經(jīng)常備份的,比如每天備份一次。主要用的是阿里云的服務(wù),包括服務(wù)器、云數(shù)據(jù)庫以及其他一些云產(chǎn)品。備份的頻率是每天一次,就是說每天一個(gè)pt,全量備...