1. 程式人生 > >開源高效能非同步閘道器:Soul

開源高效能非同步閘道器:Soul

作者:xiaoyu  

來源:Dromara分散式事務

微服務為什麼需要閘道器?

  • 微服務的流行,服務之間的呼叫,需要統一的請求標準。

  • 微服務介面,需要監控,限流,熔斷,等等。

  • 微服務介面需要統一的鑑權。

  • 介面問題定位 A/B test等等。太多功能了,就不一一列舉了。

Soul是什麼?

  * soul 是一款高效能,響應式的閘道器。我在參考Kong 的外掛設計思想,高效能的webflux後,開發而來。

 * 官網 : https://dromara.org 如果打不開,改成http即可.

 * github地址 :https://github.com/Dromara/soul

 * gitee地址: https://gitee.com/shuaiqiyu/soul

 * 架構設計

Soul功能

  • 支援各種語言,無縫整合Dubbo,SpringCloud,以及http服務。

  • 豐富的外掛支援,監控,鑑權,限流,熔斷,代理,防火牆等等。

  • 閘道器多種規則動態配置,支援各種策略配置。

  • 外掛熱插拔,易擴充套件。

  • 支援叢集部署,支援A/B Test。

  • 當然也有很多其他的功能,就不一一說了。

Soul 最大的亮點?

* 外掛的熱插拔,規則的動態配置。舉個列子,比如一個介面你限流是1秒50次,但是你想調小點,像Springcloud-gateway 或者zuul 是不是還得改動配置 然後重啟。 soul則不需要,直接在soul-admin找到對應的介面修改即可.

* soul提供了比較豐富的外掛功能,外掛與外掛規則,選擇器,使用者可以自由定義 不想用就停用或者刪除就行。想用就開啟或者新增。

* soul 是基於webflux的, 依賴rxJava ,其實高效能的,響應式的閘道器。

* soul 提供了dubbo ,springcloud rpc框架的支援。

Soul適合人群

* 是適合所有的微服務系統。

* 後端是java,使用了一些rpc框架(dubbo,springcloud), 然後前端或者其他系統是 .net php  然後需要對接? 

  然後你問java 後端開發者,dubbo介面怎麼呼叫?  java 狗肯定不願意給你提供http介面,或者直接回一句,你去找領導吧? 這個時候,你只需要告訴它,使用soul,你後端程式碼一句都不要動,只需要告訴我你zookeeper的地址就好!

* 當然也適合一些其他語言的系統,或者是老系統。 只要你是http服務就行,soul會進行代理請求呼叫。

篇幅原因,此文只是一個簡單介紹,Soul有很大的價值,喜歡的朋友可以去官網詳細介紹。

-END-

 近期熱文:

關注我

640?wx_fmt=jpeg

點選“閱讀原文”,看本號其他精彩內容

相關推薦

開源高效能非同步Soul

作者:xiaoyu  來源:Dromara分散式事務微服務為什麼需要閘道器?微服務的流行,服務之

golang開源的Gateway,目前支援http/https協議。

hgw 【http-reverse_proxy, http/https-gateway,hot-reload】 https://github.com/dmhao/hgw hgw是由gateway閘道器服務、manager控制服務構成的一套輕量級網關係統。目前支援http/http

趣談網路協議---世界這麼大,我想出歐洲十國遊與玄奘西行

怎麼在宿舍上網? 學習給每隔宿舍的網口分配了一個IP地址。這個IP地址是校園網的IP,有網管部門控制。 宿舍上網有2個方法: 1、買個網絡卡。一張網絡卡的線插到交換機,另一張網絡卡的線插到校園網的網口。且新網絡卡的IP地址要按網管部門分配的配置。 2、買個家庭路

開源go語言!GoKu API Gateway CE golang 二步成功安裝分享!

一.安裝golang 可通過以下命令安裝 golang : yum install -y golang 二.設定GOPATH 為什麼要設定 GOPATH? 設定 GOPATH 的原因是編譯專案時便於系統尋找標準庫。 如何設定 GOPATH?

微服務之APIKong外掛介紹認證外掛ip-restriction之黑白名單

kong目前提供了37個外掛,其中商業收費7個,30個開源免費的外掛,可以設定到api/服務/路由粒度上。 環境設定 外掛功能 類別 免費/收費 name 外掛名 使用場景 認證 免費 basic-au

.Net微服務實踐(四)[]Ocelot限流熔斷、快取以及負載均衡

目錄限流熔斷快取Header轉化HTTP方法轉換負載均衡注入/重寫中介軟體後臺管理最後 在上篇.Net微服務實踐(三)[閘道器]:Ocelot配置路由和請求聚合中我們介紹了Ocelot的配置,主要特性路由以及服務聚合。接下來,我們會介紹Ocelot的限流、熔斷、快取以及負載均衡。 限流 我們先來看限流的配置

高效能微服務.NETCore客戶端Kong.Net開源釋出

前言 專案地址:https://github.com/lianggx/Kong.Net 你的支援使我們更加強大,請單擊 star 讓更多的 .NETCore 認識它。 擁抱開源的腳步,我們從來都是一直在路上;.NETCore作為後起之秀,帶給我們太多的驚喜和感動;但是也正是由於年輕,.NETCore 的生態還

網路傳輸的中介代理、、通道

轉載地址:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html 代理(Proxy): 一箇中間程式,它可以充當一個伺服器,也可以充當一個客戶機,為其它客戶機建立請求。請求是通過可能的翻譯在內部或經過傳遞到其它的

Spring基礎快速入門spring cloud(4)API之Zuul

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

zuul(一)SpringCloud的介紹和zuul的使用

1)什麼是閘道器?         API Gateway,是系統的唯一對外的入口,介於客戶端和伺服器端之間的中間層,處理非業務功能 提供路由請求、鑑權、監控、快取、限流等功能 統一接入 智慧路由

eigrp增強型內部協議

eigrp是無類別距離向量路由協議 目錄 eigrp是無類別距離向量路由協議 4大元件: 5大資料包: 工作過程: 結構突變: 基本配置: 啟動eigrp 檢視鄰居表 檢視路由表 檢視拓撲表 擴散更新演算法 擴充套件配置 手工彙總--在更新源路

SpringCloud進擊 | 六淺出服務 - 過濾器(Zuul Filter)【Finchley版本】

1.前言 上一節:SpringCloud進擊 | 五淺出:服務閘道器 - 路由(Zuul Router)【Finchley版本】 Zuul 本身是一系列過濾器的整合,那麼他當然也就提供了自定義過濾器的功能,Zuul 提供了四種過濾器:前置過濾器,路由過濾器,錯誤過濾器,簡單過濾器。實

SpringCloud進擊 | 五淺出服務 - 路由(Zuul Router)【Finchley版本】

1.前言 上一節:SpringCloud進擊 | 四淺出:斷路器與容錯(Hystrix)【Finchley版本】 路由,微服務體系結構的一個組成部分,是 Netflix 基本 JVM 的路由器和服務端的負載均衡器。形象一點就是我們經常會看到的像請求路徑:/api/user 對映到使用

SpringCloud微服務基礎5Zuul

       我們使用Spring Cloud Netflix中的Eureka實現了服務註冊中心以及服務註冊與發現;而服務間通過Ribbon或Feign實現服務的消費以及均衡負載;通過Spring Cloud Config實現了應用多環境的外部化配置以及

白話SpringCloud | 第十章路由(Zuul)進階過濾器、異常處理

前言 簡單介紹了關於Zuul的一些簡單使用以及一些路由規則的簡單說明。而對於一個統一閘道器而言,需要處理各種各類的請求,對不同的url進行攔截,或者對呼叫服務的異常進行二次處理等等。今天,我們就來了解下這方面的相關知識點。   一點知識 開始實踐前,我們先來了

史上最簡單的SpringCloud教程 | 第五篇 路由(zuul)

在微服務架構中,需要幾個基礎的服務治理元件,包括服務註冊與發現、服務消費、負載均衡、斷路器、智慧路由、配置管理等,由這幾個基礎元件相互協作,共同組建了一個簡單的微服務系統。一個簡答的微服務系統如下圖: 注意:A服務和B服務是可以相互呼叫的,作圖的時候忘記了。並且配置服務也是註冊到服務註冊中

史上最簡單的SpringCloud教程 | 第五篇 路由(zuul)(Finchley版本)

在微服務架構中,需要幾個基礎的服務治理元件,包括服務註冊與發現、服務消費、負載均衡、斷路器、智慧路由、配置管理等,由這幾個基礎元件相互協作,共同組建了一個簡單的微服務系統。一個簡答的微服務系統如下圖: 注意:A服務和B服務是可以相互呼叫的,作圖的時候忘記了。並且配置服務也是註冊到服務註冊中

APIKong(四)功能梳理和外掛使用-認證外掛使用

作者: 李佶澳   轉載請保留:原文地址   釋出時間:2018/10/18 11:14:00   說明 部署一個echo應用 Basic Auth Key Auth J

APIKong(三)功能梳理和外掛使用-基本使用過程

作者: 李佶澳   轉載請保留:原文地址   釋出時間:2018-10-10 14:37:53 +0800   說明 Kong的Admin API Kong定義的資源之間的關聯關係

Choerodon 的微服務之路(二)微服務

本文是 Choerodon 豬齒魚微服務系列文章的第二篇。在《Choerodon的微服務之路(一):如何邁出關鍵的第一步》中,我們瞭解到在微服務架構中,一個完整的單體應用被拆分成多個有著獨立部署能力的業務服務,每個服務可以使用不同的程式語言,不同的儲存介質,來保持最低限度的集中式管理。本篇將