Spring Cloud服務閘道器整合

2021-09-19 19:44:15 字數 3593 閱讀 7767

1.增加依賴

org.springframework.cloud

spring-cloud-starter-zuul

2.建立zuul**應用

package com.segumentfault.spring.cloud.lesson11.zuul.proxy;

import org.springframework.cloud.netflix.zuul.enablezuulproxy;

/** * zuul **引導類

* */

@enablezuulproxy

public static void main(string args)

}

## zuul **應用

## 服務埠

server.port = 6060

4.配置zuul路由規則

## 指定 user-service-provider

zuul.routes.user-service-provider = /user-service/**

## 配置 ribbon

5.配合http客戶端

注意:實際配置ribbon底層http呼叫客戶端,並非zuul獨享此功能

啟用配置:ribbon.okhttp.enabled=ture

服務埠資訊

埠資訊​ zuul-proxy : 6060

​ config-server : 7070

​ user-service-client: 8080

​ user-service-provider : 9090

​ eureka-server : 10000

服務依賴關係

eureka先啟然後user-service-provider然後config-server然後user-service-client然後zuul-proxy

configs/zuul-config.properties

## zuul proxy 配置內容

## 指定 user-service-provider

zuul.routes.user-service-provider = /user-service/**

## 指定 user-service-client

zuul.routes.user-service-client = /user-client/**

1.增加config client依賴

org.springframework.cloud

spring-cloud-starter-config

配置config client資訊

bootstrap.properties

## zuul **應用

## 配置客戶端應用關聯的應用

## spring.cloud.config.name 是可選的

spring.cloud.config.name = zuul-config

## 關聯 profile

spring.cloud.config.profile = default

## 關聯 label

spring.cloud.config.label = master

## 啟用 config server 服務發現

spring.cloud.config.discovery.enabled = true

## config server 伺服器應用名稱

spring.cloud.config.discovery.serviceid = config-server

## spring cloud eureka 客戶端 註冊到 eureka 伺服器

增加 eureka client依賴

org.springframework.cloud

spring-cloud-starter-eureka

下面知識只做了解

zuulfilter呼叫鏈

zuulservletfilter使用範圍更大,可以攔截所有的servlet,包括zuulservlet

zuulservlet會有url匹配的模式,url-pattern

zuul有兩種的啟用模式:

@bean

public zuulcontroller zuulcontroller()

@bean

}

通過原始碼分析,zuulcontroller將請求委派給zuulservlet,所以所有的zuulfilter例項都會被執行。

因此,訪問 http://localhost:6060/user-service-client/user/find/all ,實際將請求遞交給 dispatcherservlet

傳送請求"/user-service-client/user/find/all"

匯入zuulservermarkerconfiguration,隨後生成乙個zuulservermarkerconfiguration.marker()bean ,主要用作引導裝配zuulserverautoconfigurationzuulserverautoconfiguration與 父類zuulproxyautoconfiguration區別:

父類zuulproxyautoconfiguration提供了ribbonroutingfilter

呼叫層次:

SpringCloud 服務閘道器

上篇部落格 springcloud eureka服務註冊和發現 中介紹了註冊中心eureka 服務提供者和服務消費者。這篇部落格我們將介紹服務閘道器。圖 1 未使用服務閘道器的做法 圖 2 服務閘道器的做法 服務閘道器,英文service gateway,他是微服務框架中唯一的入口。有些類似外觀模式...

SpringCloud 服務閘道器

上篇部落格 springcloud eureka服務註冊和發現 中介紹了註冊中心eureka 服務提供者和服務消費者。這篇部落格我們將介紹服務閘道器。圖 1 未使用服務閘道器的做法 圖 2 服務閘道器的做法 服務閘道器,英文service gateway,他是微服務框架中唯一的入口。有些類似外觀模式...

SpringCloud 服務閘道器

是程式或者系統之間的連線節點,扮演著程式或系統之間的門戶,允許它們之間通過通訊協議交換資訊,它們可能是同構和異構的異同。比如新增依賴 org.springframework.cloudgroupid spring cloud starter zuulartifactid dependency org...