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