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网关没问题了。

相关推荐
yu4106215 小时前
Rust 语言使用场景分析
开发语言·后端·rust
细心的莽夫5 小时前
SpringCloud 微服务复习笔记
java·spring boot·笔记·后端·spring·spring cloud·微服务
jack_xu7 小时前
高频面试题:如何保证数据库和es数据一致性
后端·mysql·elasticsearch
pwzs7 小时前
Java 中 String 转 Integer 的方法与底层原理详解
java·后端·基础
Asthenia04127 小时前
InnoDB文件存储结构与Socket技术(从Linux的FD到Java的API)
后端
Asthenia04127 小时前
RocketMQ 消息不丢失与持久化机制详解-生产者与Broker之间的详解
后端
〆、风神8 小时前
Spring Boot 整合 Lock4j + Redisson 实现分布式锁实战
spring boot·分布式·后端
Asthenia04128 小时前
Select、Poll、Epoll 详细分析与面试深度剖析/C代码详解
后端
烛阴8 小时前
Node.js中必备的中间件大全:提升性能、安全与开发效率的秘密武器
javascript·后端·express