当前位置: 首页 > news >正文

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


http://www.mrgr.cn/news/4160.html

相关文章:

  • VAuditDemo常规漏洞
  • Docker Swarm 管理
  • Kaggle竞赛——心脏病患者预测与可视化
  • Android 12系统源码_多屏幕(三)模拟辅助设备功能实现原理
  • PCDN技术如何提高网络性能?
  • Huawei Matebook e 2022 安装 archlinux 双系统
  • 鸿蒙卡片服务
  • 第R2周:LSTM-火灾温度预测
  • 【C/C++】宏定义标志位使用到 (1U<<0)是为什么?
  • ROS常用消息之Image
  • 基于Django的停车场车辆出入管理系统,可识别车牌图片
  • AI大模型应用开发实战-Agent应用对话情感优化
  • ChatGPT完成论文润写的几点说明
  • 你也想转行成为一名程序员吗?作为过来人的我希望你想清楚这几个问题再做决定
  • 第18 章探讨 C++新标准.可变参数模板,模板和函数参数包,展开参数包
  • 延时仅33us,Linux-RT实时性能测试分享—基于瑞芯微RK3562J国产平台
  • Fiddler不仅可以抓包,还可以做接口测试喔
  • Go 语言协程管理精解
  • 基于缓存提高Java模板文件处理性能:减少磁盘I/O的实践与探索
  • DMDSC搭建