一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Spring Cloud Zuul 服務網關

詳解Spring Cloud Zuul 服務網關

2021-03-06 13:21鐘艾伶 Java教程

本篇文章主要介紹了詳解Spring Cloud Zuul 服務網關,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

有了eureka服務注冊發現、hystrix斷路器、ribbon服務調用負載均衡,以及spring cloud config 集群配置中心,似乎一個微服務框架已五臟俱全,last but not least,一個服務網關卻不可或缺。

spring cloud zuul路由是微服務架構的不可或缺的一部分,提供動態路由,監控,彈性,安全等的邊緣服務。zuul是netflix出品的一個基于jvm路由和服務端的負載均衡器。

zuul介紹

詳解Spring Cloud Zuul 服務網關

在整個spring cloud微服務框架里,zuul扮演著”智能網關“的角色。一方面,zuul是接入網關,起到反向代理的作用,是外部消費者請求內部服務的唯一入口。另一方面,zuul也具備過濾功能,通過在運行時注入過濾規則可實現用戶鑒權、動態路由、灰度發布、a/b測試、負載限流等功能。

zuul的大部分功能都是通過過濾功能來完成的,zuul可以提供四種標準類型的過濾,如下圖所示:

詳解Spring Cloud Zuul 服務網關

1) pre: 過濾規則在路由之前起作用??梢岳?ldquo;pre”過濾器實現用戶鑒權,記錄請求日志等;

2) routing:過濾規則在路由時發生作用??梢岳?ldquo;routing”過濾器實現動態路由、灰度發布、a/b測試、負載限流等。

3) post:過濾規則在路由之后發生作用。可以利用"post"過濾器收集統計信息和指標,將微服務的相應寫入http響應并返回給服務消費者;

4) error:過濾規則路由過程中發生錯誤時發生作用。可以利用error過濾器記錄錯誤日志,并對錯誤進行二次處理等。

在過濾器之間用requestcontext傳遞消息。requestcontext存儲的內容包括路由目標地址、錯誤信息、請求信息、響應信息等。zuul的過濾規則也可以用基于jvm的語言編寫,包括java、python、groovy等。

一、zuul 實例

在上篇demo創建好注冊中心、服務提供方的基礎之上,再來演示一下zuul網關服務

1、創建網關類 

?
1
2
3
4
5
6
7
8
9
@enablezuulproxy
@springcloudapplication
//整合@springbootapplication、@enablediscoveryclient、@enablecircuitbreaker
public class zuulapplication {
 
  public static void main(string[] args) {
    new springapplicationbuilder(zuulapplication.class).web(true).run(args);
  }
}

2、添加properties配置文件

?
1
2
3
4
5
6
7
8
9
10
spring.application.name=api-gateway
server.port=5555
 
zuul.routes.api-a.path=/api-a/**
zuul.routes.api-a.serviceid=compute-service
 
zuul.routes.api-b.path=/api-b/**
zuul.routes.api-b.serviceid=compute-service
 
eureka.client.serviceurl.defaultzone=http://localhost:1111/eureka/

同樣也指向eureka服務注冊中心地址,api-a.serviceid,b-serviceid 指向服務提供者名稱

3、訪問效果

原來直接通過http://compute-service/add?a=10&b=20鏈接直接訪問compute-service服務實例,現在則可直接localhost:5555/api-a/add?a=1&b=2網關地址訪問compute-service服務。同樣zuul網關也提供服務負載均衡功能,將請求均發到service服務實例。

詳解Spring Cloud Zuul 服務網關

二、什么是網關?為何需要使用網關?

通過上圖,對外提供的服務,在無網關的情況下,api接口直接暴露給服務調用方,當調用方增多,不同業務調用方各不相同,勢必需要添加定制化訪問權限、校驗等邏輯。當添加api網關后,再第三方調用端和服務提供方之間就創建了一面墻,這面墻直接與調用方通信進行權限控制,后將請求均衡分發給后臺服務端,正如無需直接訪問compute-service的add方法,而是通過api-a/add鏈接將請求傳遞給service實例。zuul就是提供負載均衡-反向代理-權限認證的這么一個api gateway。

類似于nginx在應用服務最前端添加一堵保護墻,zuul的負載均衡是針對將請求分發給集群中某臺服務或者某個服務實例。而前面介紹過的ribbon也是主打服務負載功能,它所針對的是服務消費者將調用請求分發到某具體服務提供實例。兩者均做負載均衡,實際是在系統不同的層級上進行。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/daybreak1209/article/details/53735455

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好女孩韩剧免费观看 | 成人在线观看免费视频 | 精品久久久久久久国产潘金莲 | 好男人在线观看免费高清2019韩剧 | 亚洲男人天堂av | 亚洲性视频在线观看 | 交换余生在线播放免费 | 四虎色影院 | 被夫上司强迫中文 | 青草社区视频 | 97色蜜桃 | 青草草在线观看 | 亚洲成年人专区 | 特黄特色大片免费影院 | 狠狠色成人综合 | 2015台湾永久免费平台 | 狠狠撸在线影院 | 色噜噜狠狠色综合 | 水野朝阳厨房系列在线观看 | 国产成人精品免费大全 | 成人二区 | 午夜在线观看免费观看 视频 | 无人区乱码区1卡2卡三卡在线 | 国产精品成人自拍 | 国产香蕉97碰碰在线视频 | 欧美激情精品久久久久久不卡 | 男人的天堂在线观看入口 | 成年私人影院免费视频网站 | 女人叉开腿让男人桶 | 国产日韩欧美在线观看不卡 | 性德国高清xxxxbbbb | 亚洲国产精品久久久久 | 好吊操这里有精品 | 99在线观看视频免费精品9 | 精品免费久久久久久成人影院 | 男人懂得网站 | 免费精品一区二区三区在线观看 | 2020国产精品视频免费 | 国产东北3p真实在线456视频 | 男男gaygays黑人 | 亚洲qvod图片区电影 |