SpringCloud微服務(wù)之網(wǎng)關(guān)Zuul

Zuul實現(xiàn)網(wǎng)關(guān)

pom.xml依賴添加

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>top.solumon</groupId>
    <artifactId>zuul</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>zuul</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
        </dependency>

        <!--zk工具包 保持客戶端zookeeper版本與服務(wù)器端一致-->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.14</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yml配置

server:
  port: 8888
spring:
  application:
    name: springcloud-zuul-demo
  cloud:
    zookeeper:
      discovery:
        register: true
        enabled: true
        instance-id: 1
        root: /demo
      connect-string: 39.104.124.245:2181
# 在用戶訪問路徑里面有api-member
zuul:
  routes:
    api-a:
      path: /api-member/**
      serviceId: app-member-service
    api-b:
      path: /api-order/**
      # 服務(wù)名稱 zuul網(wǎng)關(guān)默認(rèn)整合ribbon 自動實現(xiàn)負載均衡
      serviceId: app-order-service

啟動Application 添加注解 @EnableZuulProxy

@EnableZuulProxy
@SpringCloudApplication
public class ZuulApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder(ZuulApplication.class).web(true).run(args);
    }

}

實現(xiàn)Zuul集群

使用Nginx反向代理實現(xiàn)Zuul網(wǎng)關(guān)集群癣蟋,保證每臺網(wǎng)關(guān)配置數(shù)據(jù)相同

Nginx配置

http{
        upstream backServer {
        39.104.124.245:8900;
        39.104.124.245:8901;
         }
        server {
               location / {
                        # 指定上游服務(wù)器負載均衡服務(wù)器
                        proxy_pass http://backServer/;
                        index index.html index.htm;
               }
        }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末透硝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子疯搅,更是在濱河造成了極大的恐慌濒生,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幔欧,死亡現(xiàn)場離奇詭異罪治,居然都是意外死亡,警方通過查閱死者的電腦和手機礁蔗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門规阀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瘦麸,你說我怎么就攤上這事∑缧玻” “怎么了滋饲?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長喊巍。 經(jīng)常有香客問我屠缭,道長,這世上最難降的妖魔是什么崭参? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任呵曹,我火速辦了婚禮,結(jié)果婚禮上何暮,老公的妹妹穿的比我還像新娘奄喂。我一直安慰自己,他們只是感情好海洼,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布跨新。 她就那樣靜靜地躺著,像睡著了一般坏逢。 火紅的嫁衣襯著肌膚如雪域帐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天是整,我揣著相機與錄音肖揣,去河邊找鬼。 笑死浮入,一個胖子當(dāng)著我的面吹牛龙优,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舵盈,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼陋率,長吁一口氣:“原來是場噩夢啊……” “哼球化!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瓦糟,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤筒愚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后菩浙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巢掺,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年劲蜻,在試婚紗的時候發(fā)現(xiàn)自己被綠了陆淀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡先嬉,死狀恐怖轧苫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疫蔓,我是刑警寧澤含懊,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站衅胀,受9級特大地震影響岔乔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滚躯,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一雏门、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掸掏,春花似錦茁影、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至息裸,卻和暖如春蝇更,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呼盆。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工年扩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人访圃。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓厨幻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子况脆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355