原创 趨勢遞增分佈式ID生成方法:Snowflake
1.介紹 SnowFlake的結構如下(每部分用-分開): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 1.第
原创 理解JSONP
1.AJAX ajax是基於XMLHttpRequest 的,是不能跨域的。 request = new XMLHttpRequest(); request.onreadystatechange = function () {
原创 配置中心:Spring Cloud Config
1.Spring Cloud Config 服務端(基於git) 1.1添加依賴 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>s
原创 Mybatis級聯查詢和緩存
1.表結構 create table t_lecture( id int(20) not null auto_increment comment '編號', lecture_name varchar(60) not null com
原创 CAP/BASE理論
CAP理論告訴我們,一個分佈式系統是不可能同時滿足一致性(C:consistency)、可用性(A:Availability)和分區容錯性(P: Partition tolerance)這三個基本需求,最多隻能同時滿足其中的兩項
原创 服務治理 Spring Cloud Eureka
1.架構圖 1.ServiceProvider(服務提供者)會向EurekaServer做Register(服務註冊)、Renew(服務續約)、Cancel(服務下線)等操作。 2.EurekaServer之間會做註冊服務的
原创 Thrift和Spring集成
1.服務端通過TMultiplexedProcessor同時暴露多個服務 /** * Thrift通用服務啓動類 可以和spring集成 */ public class CommonServerDemo { private
原创 RabbitMQ三種Exchange
1.Direct Exchange Direct Exchange是一種點對點模式。當消息發送到Direct Exchange時,如果routingkey匹配的話,消息就被投遞到對應的隊列。 注意有一個默認的direct類型
原创 客戶端負載均衡 Spring Cloud Ribbon
1.基本思路 客戶端從服務中心獲取服務提供者信息,當客戶端使用服務名調用服務時,攔截器幫你把服務名替換爲具體的服務地址,服務地址的選擇是由路由規則先定。默認是線性輪詢。 2.參數配置 主配置類:RibbonC
原创 消息驅動:Spring Cloud Stream
1.stream 配置中的含義 當我們使用默認group,和destination時默認創建名爲input 的持久化的topic類型的exchange。 隊列是一個destination前綴然後一個隨你名稱的自動刪除隊列。 現在我
原创 Spring Boot 配置文件和日誌文件放到jar之外
1.設置打包jar的時候排除文件 <resources> <resource> <directory>src/main/resources</directory> <excludes>
原创 Oracle批量插入
1.批量插入sql語法 insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE) select 8000,0,'Multi 8000',1 from dua
原创 聲明式服務調用:Spring Cloud Feign
1.使用方法 1.消費方基於spring mvc 註解自定義訪問接口,這樣相當於消費方和服務提供方各自維護一套接口。 2.基於繼承的方法,服務提供方將對外接口打成單獨的jar包提供出去,消費方依賴這個jar就可以了。缺點是服務提
原创 redis實現分佈式鎖
1.基本思想 http://doc.redisfans.com/string/set.html 有說明 如下 命令 SET resource-name anystring NX EX max-lock-time 是一種在 Redi
原创 ClassPathXmlApplicationContext 初始化流程
1.configLocations的解析 構造器代碼如下: super(parent); setConfigLocations(configLocations); if (refresh) { refresh(); } 我們先看s