spring cloud 入門13-Eureka網關——zuul01

在傳統的網站中,我們還會引入如Nginx、F5的網關功能。網關的功能對於分佈式網站是十分重要的,首先它可以將請求路由到真實的服務器上,進而保護真實服務器的IP地址,避免直接地攻擊真實服務器;其次它也可以作爲一種負載均衡的手段,使得請求按照一定的算法平攤到多個節點上,減緩單點的壓力;最後它還能提供過濾器,過濾器的使用可以判定請求是否爲有效請求,一旦判定失敗,就可以將請求阻止,避免發送到真實的服務器,這樣就能降低真實服務器的壓力。

在Spring Cloud的組件中,Zuul是支持API網關開發的組件,首先來搭建一個最簡單的zuul網關
新建項目,添加zuul組件
在這裏插入圖片描述
在pom文件中添加的組件表示爲

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>

然後在main函數中啓動網關
在這裏插入圖片描述
添加yml配置文件

server:
  port: 80
spring:
  application:
    name: zuul
eureka:
  client:
    service-url:
      defaultZone: http://peer2:8002/eureka/

這裏端口直接配置爲80
基礎網管配置就完成了,我們首先通過初始方式來訪問product節點下的getUser服務,訪問地址爲:

http://192.168.1.129:9001/product/getUser/1

需要注意這裏的組成,http://192.168.1.129:9001/這是我們的訪問主機地址+端口號,/product/getUser/1這裏是訪問具體路徑,我們在代碼中這樣配置的
在這裏插入圖片描述
訪問結果成功:
在這裏插入圖片描述
我們啓動zuul網關,然後現在我們的zuul(我們的網關配置爲80端口,所以不需要輸入端口號了)
我們依舊訪問上邊的product下邊的getuser服務,不過這次以zuul的方式去訪問(通過80端口),但是現在需要在原來的基礎上修改下訪問路徑了
訪問路徑爲:

http://127.0.0.1/product/product/getUser/1

這裏的訪問規則爲:<主機:端口>/節點名稱/訪問路徑
我們的zuul走的是80端口,所以這裏不需要寫端口號,第一個/product是指要訪問product節點下邊的請求,最後的/product/getUser/1是指需要訪問這個具體路徑
我們對比一下
1:這是直接訪問product節點在這裏插入圖片描述
2:這是訪問zuul
在這裏插入圖片描述
這樣就完成了一個基礎網關的配置了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章