原创 如何正確理解api網關

微服務這麼火,隨之api網關常常被提到。那麼什麼纔是api網關?這個問題也一直困擾着我。前幾周在csdn數據庫大會上與滬江的一個架構師就這個問題探討了一下。使我對於api網關的認識清晰了很多,所以在本文梳理一下我的思路並總結,希望

原创 oracle 分頁sql語句的深入理解

從oracle數據裏向外遷移大量數據,有多種方法。其中一種就是應用jdbc連接oracle,寫代碼向外分頁提取。我現在工作的一個任務就是從oracle中單表數據提取出來,進行單行數據加工轉換,然後再寫入mysql中。我所用的工具是

原创 網關方案總結

經過這一段時間的思考、實踐、受挫、再思考、再實踐,現將api網關的方案總結一下。 總的目標 主要爲了解決SOA服務框架對外提供api相關問題,主要涉及如下幾個方面: 統一鑑權 限流 防攻擊 系統拆分 api橫向擴展、高可用、負載

原创 tomcat servlet3的異步化原理理解

之所以想起來扒這個servlet 3的異化步原理,原因是前幾天寫了一篇關於消息隊列的pull與push模式理解.從對spring jms消息隊列的客戶端實現來看activemq服務端並沒有真正的實現push.所以想搞清楚tomca

原创 count distinct基數統計之一

最近開發一個業務功能遇到一個關於 count distinct的統計,現在這個統計功能是直接運行在mysql數據庫中的。現在mysql執行時間在業務上還是可以容忍的範圍內,也沒有進行優化。但我感覺有必要將後續的優化方案先整理一下。

原创 spring jms DefaultMessageListenerContainer分析

本文使用的spring-jms源代碼分支4.2.x(從git上直接取的).對於spring框架中的類,下文都省略了包目錄. 類繼承關係 java.lang.Object JmsAccessor JmsDes

原创 spring聲明式事務源碼剖析(中)

TransactionInterceptor這個類我們在上一篇中已經認識了,這一篇我們來看一下,它是如何完成事務的攔截。spring代碼版本v.4.2.4.RELEASE. TransactionInterceptor.invo

原创 flume概念入門

flume一句話理解即是關於數據的管道處理開箱即用框架。flume agent的三個基本概念即爲:source ,channel,sink.即數據讀取,數據處理,數據寫入三個階段。要作數據處理,首先要解決的是數據收集的問題。如果這個問題解

原创 cas client集羣單點登出解決方案總結

cas client提供了單點出功能SLO.但對於cas client 在集羣環境下的單點登出的情況深入瞭解的甚少,因爲默認情況下它不是很靈,也就是說有時能登出,有時登不出的情況。最近一段時間,在新公司進行技術預演,這個問題又遇

原创 spring中aop:pointcut的expression的理解

spring的聲名式事務,想必大家都很熟悉,之前我也自認爲很熟悉。兩天前幫同事調試了一段關於事務的代碼,而事務採用的正是spring的聲名式事務控制方式來管理。但是事務卻不起作用,頓時蒙圈了,查了一下spring配置,其中aop:poin

原创 自動化部署系統設計

這裏所說的自動化部署系統,其實是一種半自動的代碼部署,不同於jenkins的持續集成,也不同於puppet,ansible的自動部署。根據公司實際情況,而定製的一種自動化部署方案: 背景介紹 公司項目發佈過程如下: 開發人員上傳

原创 cas入門之:cas 4 如何以http形式發佈

最近打算把公司的管理系統進行拆分,關於單點登錄還是選用了cas.選用的版本爲4.1.10。因爲是公司內部使用,所以還是將cas以http協議的形式部署。但是它不同與cas 3版本,所以在此記錄一下。 步驟  將cas4.1.10以http

原创 storm與流計算

在聊流計算之前,先聊一下兒時的一段記憶。 兒時記憶 記得小的時候,在老家建房子,需要用磚,有幾個小工用小車一車一車的推磚送到所謂的大工面前供大工使用。 從拉磚的起始地,到大工使用磚的目的地,這個過程都是小工一個人在拉磚,就是單線

原创 spark streaming與spring batch批處理

之前很不理解什麼是流計算。那麼流計算中的流,如何去理解?因爲把數據看作是源源不斷的流,那麼數據就沒有起始與結尾,那麼如何去處理它呢? 這幾天看了 s

原创 關於AbstractQueuedSynchronizer(AQS)的簡單理解

java.util.concurrent.locks.AbstractQueuedSynchronizer(簡稱AQS),從名字(抽象隊列同步器)直接來理解它的作用就差不多了。作爲程序員是很少直接使用它的。它是併發包中所有使用ca