原创 springboot實現自定義starter

                       springboot實現自定義starter 上一篇文章說了springboot的原理,接下來就來實現自定義的starter 創建一個maven工程,名稱爲hello-starter,pom如

原创 CXF框架實現WebService

Apache CXF介紹:http://cxf.apache.org/docs/index.html 一、使用CXF開發Web Service服務端: 每個Web Service組件需要2個部分:接口和實現類: 1、新建maven工程c

原创 spring cloud之Zuul

   經過前幾篇文章,微服務架構已經初據雛形,思考下,這種架構還有一些問題-不同的微服務一般會有不同的網絡地址,而客戶端可能需要調用多個服務的接口才能完成一個業務需求,如果讓客戶端直接與各個微服務通信,會有如下的問題 客戶端會多次請求不同

原创 隨筆

最近剛好時間比較多,所以有時間學習了一點知識,怕自己忘記,就想寫個博客記錄下來,俗話說的好 好記性不如爛筆頭 第一步總是比較難,沒寫博客之前總是想着怎麼寫才能好點,漏洞少點,後來想想,人總是慢慢成長進步的,不斷學習,不斷成長才對

原创 Redis學習筆記

                                        Redis學習筆記 單線程架構 redis使用了單線程架構和I/O多路複用模型來實現高性能的內存數據庫服務 爲什麼單線程還能這麼快 純內存訪問,Redis

原创 JAVA RPC學習

RPC(Remote Procedure Call Protocol)是遠程過程調用的簡稱,廣泛應用在大規模分佈式應用中,作用是有助於系統的垂直拆分,使系統更易拓展。Java中的RPC框架比較多,各有特色,廣泛使用的有RMI、He

原创 java數據結構之HashMap

                                                                         java數據結構之HashMap 萬事開頭難,懶惰一段時間後,想寫些東西,發現不知道從何下筆

原创 memcache內存分配策略

一、memcache介紹 memcache是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據 庫的次數,從而提高了網站訪問的速度。memcache是一個基於一個存儲鍵/值對

原创 RabbitMQ 之六 RPC

在RabbitMQ系列的第二篇文章Work Queus中,我們學會將耗時的task分佈到多個workers。 那如果我們需要在一臺遠程電腦上執行一個函數然後等待獲取結果?這種模式叫做Remote Procedure Call或者RPC。即

原创 Tcp協議之三次握手四次揮手學習二

上一篇文章中我們講到了tcp協議建立連接的三次握手,這篇文章我們將會來學習tcp協議斷開連接的四次揮手。TCP連接終止協議建立一個連接需要三次握手,而終止一個連接要經過4次握手。這由TCP的半關閉(halfclose)造成的。既然一個TC

原创 spring FactoryBean與BeanFactory

spring FactoryBean與BeanFactoryBeanFactory,以Factory結尾,表示它是一個工廠類(接口),用於管理Bean的一個工廠。在Spring中,BeanFactory是IOC容器的核心接口,它的職責包括

原创 RabbitMQ 之二 "Work Queues"

在上一篇RabbitMQ HelloWorld中,我們寫了一個程序關於向一個queue 發送消息和從同一個queue中取出消息,這篇文章,我們將創建一個 Work Queue用來向多個worker分發耗時的tasks。 關於Work Q

原创 RabbitMQ 延遲隊列實現訂單支付結果異步階梯性通知

在第三方支付中,例如支付寶、或者微信,對於訂單請求,第三方支付系統採用的是消息同步返回、異步通知+主動補償查詢的補償機制。 由於互聯網通信的不可靠性,例如雙方網絡、服務器、應用等因素的影響,不管是同步返回、異步通知、主動查詢報文都可能

原创 nginx初識

nginx初識 一、nginx下載與啓動 電腦版本爲windows,所以就下載個windows版本的nginx,下載地址爲http://nginx.org/en/download.html,下載後解壓,目錄內容如圖: cmd命令啓動n

原创 RabbitMQ 之七 TTL與Dead lettering

RabbitMq允許我們爲message和queue設置過期時間TTL (time to live) ,可以通過代碼或者控制檯設置TTL,可以爲一個或者多個queue設置TTL,或者爲每個獨立的message設置TTL。 設置x消息TTL