原创 dwr 自定義轉換器

最近開發一個後臺應用,之前一般都是使用 AJAX 來進行數據交互。但是項目中使用的是 dwr 來進行前後端交互。本文不是講如何使用 dwr,而是想分享一下使用 dwr 遇到的問題以及解決問題的思路。 1、什麼是 dwr DWR 是

原创 dubbo源碼分析15 -- 集羣容錯之Route

在集中式環境中服務的機器臺只有一臺,這樣對於服務不僅存在服務單點故障問題而且還存在流量問題。爲了解決這個問題,就引入的分佈式與集羣概念。 分佈式:一個業務分拆多個子業務,部署在不同的服務器上 集羣:同一個業務,部署在多個服務器上

原创 Java NIO 概述

在 java 1.4 以前, Java 對 I/O 的支持並不完善,開發人員在開發高性能 I/O 程序的時候,會面臨一些巨大的 挑戰和困難,主要問題如下: 沒有數據緩衝區, I/O 性能存在問題; 沒有 C 或者 C++ 中的

原创 dubbo源碼分析14 -- 集羣容錯之Directory

在集中式環境中服務的機器臺只有一臺,這樣對於服務不僅存在服務單點故障問題而且還存在流量問題。爲了解決這個問題,就引入的分佈式與集羣概念。 分佈式:一個業務分拆多個子業務,部署在不同的服務器上 集羣:同一個業務,部署在多個服務器上

原创 dubbo源碼分析18 -- 服務監控

在分佈式服務當中監控服務的各項指標至關重要,而 dubbo 也提供了一個簡單的監控中心(Simple Monito)。Simple Monitor掛掉不會影響到Consumer和Provider之間的調用,所以用於生產環境不會有風

原创 數據冪等

在系統設計的時候,操作冪等設計是一點需要考慮的點。 冪等(idempotent、idempotence)是一個數學與計算機學概念,常見於抽象代數中。在編程中一個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。

原创 hystrix 概述

1、什麼是 Hystrix? 在分佈式環境中,許多服務依賴項不可避免地將會失敗。Hystrix是一個通過添加延遲容忍和容錯邏輯來幫助您控制這些分佈式服務之間的交互的庫。Hystrix通過隔離服務之間的訪問點來實現這一點,停止跨級的

原创 dubbo源碼分析13 之 集羣容錯 Invoke

在集中式環境中服務的機器臺只有一臺,這樣對於服務不僅存在服務單點故障問題而且還存在流量問題。爲了解決這個問題,就引入的分佈式與集羣概念。 分佈式:一個業務分拆多個子業務,部署在不同的服務器上 集羣:同一個業務,部署在多個服務器上

原创 dubbo源碼分析16 -- 集羣容錯之LoadBalance

在集中式環境中服務的機器臺只有一臺,這樣對於服務不僅存在服務單點故障問題而且還存在流量問題。爲了解決這個問題,就引入的分佈式與集羣概念。 分佈式:一個業務分拆多個子業務,部署在不同的服務器上 集羣:同一個業務,部署在多個服務器上

原创 dubbo源碼分析20 -- 遠程調用概述

在之前的文章我們分析了 dubbo 的服務治理,也就是在 consumer 端在進行服務引用的時候。consumer 首先會根據配置 Protocol(協議) 創建 Invoke 調用對象,它代表一個可執行體,可向它發起 invo

原创 Xxl Job 源碼分析(二) -- 啓動執行器

從之前的 Xxl Job Helloworld 中學會了簡單的使用 Xxl-Job 進行分步式任務調度。並且可以知道當我使用 Xxl-Job時,我們核心基本需要以下三個步驟: 啓動調度中心(xxl-job-admin) 啓動執行

原创 dubbo源碼分析21 -- 遠程通信 netty

dubbo 做爲 RPC 框架,需要進行跨 JVM 通信,要保證高性、穩定的進行遠程通信。dubbo 底層通信選擇了 netty 這個 nio 框架做爲默認的網絡通信框架並且通過自定義協議進行通信。dubbo 支持以下網絡通信框架

原创 webservice hello world

Web service是一個平臺獨立的跨語言、跨平臺,低耦合的,自包含的、基於SOAP(simple object access protocal)協議的可編程的web的應用程序,可遠程接口訪問。可使用開放的XML(標準通用標記語

原创 Xxl Job 源碼分析(一) -- 啓動調度中心

從之前的 Xxl Job Helloworld 中學會了簡單的使用 Xxl-Job 進行分步式任務調度。並且可以知道當我使用 Xxl-Job時,我們核心基本需要以下三個步驟: 啓動調度中心(xxl-job-admin) 啓動執行

原创 Amazon SQS 模仿 @RabbitListener

新到一家公司,由於對業務還不太熟悉。正好又有一個需求,由於我們公司是第三方支付公司需要把訂單狀態的更新(比如成功或者失敗等狀態)發送給調用接口的商戶。在設計這個系統的時候,由於公司的業務都是在亞馬遜雲上。而且之前使用的 MQ 就是