原创 Spring Cloud Alibaba 教程 | Dubbo(十):服務調用(下)

提供者發送結果 我們先來回顧一下提供者服務是如何接收消息的,下面是調用鏈: NettyHandler -->NettyServer -->MultiMessageHandler -->HeartbeatHa

原创 Spring Cloud Alibaba 教程 | Dubbo(九):服務調用(上)

概述 下圖是Dubbo服務調用過程圖: 首先由消費者服務通過代理對象Proxy發起遠程調用,接着交給Client將數據編碼之後經過網絡傳輸發送到提供者服務,提供者服務接收到數據之後,先進行解碼,解碼之後再交給分發器Dispatc

原创 Spring Cloud Alibaba 教程 | Dubbo(八):集羣容錯

InvokerInvocationHandler 在上一篇文章【Dubbo服務引用】的最後,我們介紹到通過標籤<dubbo:reference>引用一個遠程服務接口之後,會得到一個代理對象,該代理對象包含了一個調用處理器Invok

原创 Spring Cloud Alibaba 教程 | RocketMQ(二):生產者和消費者

核心概念 上圖是RocketMQ一些核心概念組件之間的關係圖,在深入講解RocketMQ生產者和消費者之前我們先來熟悉一下RocketMQ的核心概念。 Producer生產者 生產者將應用系統生成消息發送給Brokers。Ro

原创 Spring Cloud Alibaba 教程 | Dubbo(二):簡述Dubbo SPI

前言 從今天開始我將分多篇文章源碼解析Dubbo框架的實現細節,通過閱讀這些文章讀者朋友可以深入瞭解到Dubbo框架,同時還可以達到能夠對框架進行按需定製、優化的能力。 在閱讀這些文章之前建議讀者朋友們先將dubbo源碼下載下來,

原创 主流微服務註冊中心淺析和對比

開源產品受開發者熱捧,是因爲其代碼透明、可以參與共建、有社區進行交流和學習,當然更重要的是開源產品的接入成本低。個人開發者或者中小型公司往往會將開源產品作爲選型首選。 開發者通過閱讀源代碼,理解產品的功能設計和架構設計,同時也可以

原创 Spring Cloud Alibaba 教程 | Dubbo(六):服務暴露

框架設計 下圖是Dubbo框架的整體設計圖,總共分爲了10層,其中Service層直接和用戶接觸,代表了一個個的服務接口。 config 配置層:對外配置接口,以 ServiceConfig, ReferenceConfig爲

原创 Spring Cloud Alibaba 教程 | Dubbo(一):快速入門

Dubbo產生的背景 Dubbo全稱是Apache Dubbo,是一款高性能Java RPC框架。Dubbo由阿里巴巴工程師研發,並且已經貢獻給了Apache軟件基金會。 官網地址:http://dubbo.apache.org/

原创 完全透析設計模式(5)- 適配器模式

適配器模式(Adapter) 適配器模式是一種結構型設計模式(結構型設計模式包含橋接、適配器、組合、裝飾器、外觀、享元、代理,共有七種),其核心的思想就是在兩個獨立或者不兼容的接口之間搭建一座橋樑,通過這個橋樑可以將兩者組合起來。

原创 Spring Cloud Alibaba 教程 | Dubbo(三):ExtensionLoader加載過程

ExtensionLoader 通過前面文章的介紹我們已經知道通過ExtensionLoader可以獲取到擴展接口實例對象,並且一個擴展接口對應着一個ExtensionLoader實例對象。ExtensionLoader是Dubb

原创 Spring Cloud Alibaba 教程 | Dubbo(四):獲取擴展類

獲取自適應擴展實例 通過調用ExtensionLoader類的getAdaptiveExtension()方法可以獲取到自適應擴展類實例對象。 public T getAdaptiveExtension() { Objec

原创 Spring Cloud Alibaba 教程 | 前世今生

Spring Cloud Alibaba是什麼 先來看一下官方是怎麼定義Spring Cloud Alibaba的: Spring Cloud Alibaba 致力於提供微服務開發的一站式解決方案。此項目包含開發分佈式應用微服務

原创 Spring Cloud Alibaba 教程 | Nacos(四)

Nacos環境隔離 Nacos管理臺有一個單獨的菜單“命名空間”,裏面默認存在一個名爲“public”的默認命名空間,我們在使用Nacos時不管是作爲註冊中心還是配置中心,都是作用在該命名空間之下的,那麼這個命名空間到底起着什麼作

原创 Spring Cloud Alibaba 教程 | Nacos(三)

使用Nacos作爲配置中心 前面我們已經介紹過濾Nacos是一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。所以它可以作爲註冊中心和配置中心,作爲註冊中心Nacos可以讓我們靈活配置多種環境的參數,使得項目在打包過