Springcloud从零开始---Zuul(二)

Springcloud从零开始--Eureka-CSDN博客

继上篇Eureka学习网关Zuul

简单说:Zuul,网关,所有的客户端请求通过这个网关访问后台的服务。他可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求。

详细说:Zuul是Netflix开源的微服务网关,它可以和Eureka、Ribbon、hystrix等组件配合使用。Zuul的核心是一系列过滤器。这些过滤器完成以下功能:

1 身份认证和安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求。

2 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。

3 动态路由:动态地将请求路由到不同的后端集群。

4 压力测试:逐渐增加指向集群的流量,以了解性能。

5 负责分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求。

6 静态响应处理:在边缘位置直接建立部分响应,避免其转发到内部集群。

7 多区域弹性:跨越AWS Region进行请求路由,旨在实现ELB(Elastic Load Blancing)使用的多样化,以及让系统的边缘更贴近系统的使用者。

搭建项目学习

第一、继 Springcloud从零开始--Eureka-CSDN博客父项目工程下新建Zuul子项目

1,在Springcloud_study下创建Zuul子模块,选中父工程单击右键New---Module

2,Maven---next

3,添加ArtifactId next

4,一般没改动,这个不用填写,直接finish

Zuul模块成功 建成

5,pom文件添加 zuul及Eureka 客户端(这里添加Eureka客户端是为了后面用Eureka服务端查看Zuule模块信息)依赖

依赖代码

<dependencies>
	<!--网关依赖-->
	<dependency>
	    <groupId>org.springframework.cloud</groupId>
	    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
	</dependency>
	<!--添加eureka客户端-->
	<dependency>
	    <groupId>org.springframework.cloud</groupId>
	    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
	</dependency>
</dependencies>

6,新建Zuul模块配置文件application.yml并配置

新建application.yml

配置代码

server:
  port: 8888
spring:
  application:
    name: zuul-study
zuul:
  prefix: /api
eureka:
  client:
    service-url:
      defaultZone: http://localhost:9999/eureka

7,新建ZuulApplication启动类

代码

package com.zwj;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@EnableZuulProxy
@EnableEurekaClient
@SpringBootApplication
public class ZuulApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication.class, args);
    }
}

8,启动ZuulApplication,单击启动类页面(必须先启动Eureka注册中心后再启动Zuul网关)

启动成功

9,浏览器访问Eureka注册中心地址:http://localhost:8888/

看到zuul-study信息已经被注册到Eureka中心了,说明zuul网关没问题了。

相关推荐
魔尔助理顾问3 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
李长渊哦6 小时前
使用Druid连接池优化Spring Boot应用中的数据库连接
数据库·spring boot·后端
web135085886356 小时前
【Spring Boot】Spring AOP动态代理,以及静态代理
spring boot·后端·spring
nbsaas-boot7 小时前
Go 自动升级依赖版本
开发语言·后端·golang
zzyh1234567 小时前
springcloud的组件及作用
后端·spring·spring cloud
尚学教辅学习资料8 小时前
基于SpringBoot的图书借阅小程序+LW参考示例
spring boot·后端·小程序·java毕设·图书借阅
山海不说话8 小时前
从零搭建微服务项目Base(第5章——SpringBoot项目LogBack日志配置+Feign使用)
spring boot·后端·spring·spring cloud·微服务·logback
databook9 小时前
『Python底层原理』--CPython的变量实现机制
后端·python
初尘屿风9 小时前
小程序类毕业设计选题题目推荐 (29)
spring boot·后端·学习·微信·小程序·课程设计
JavaGuide10 小时前
武汉小米 Java 岗位一二面校招面经
java·后端