springcloud学习手册-zuul(概念和内容)

一、什么是Zuul?

zuul概念和内容

Zuul 框架原理图

官方英文说明

其中重点理解一下,下面这些。

首先Zuul是什么?其实Zuul是基于JVM的路由器和服务器端的负载平衡器 ,它属于Netflix 系列框架之一。

二、那如何使用创建zuul呢?

主要有三步,可按照下面进行

第一步:创建一个基础的springboot工程,命名可随意。按照惯例在pom.xml中引入spring-cloud-starter-zuul 的相关依赖。具体如下:

说明zuul依赖包其实还包含了三种资源。

  • spring-cloud-starter-hystrix : 这个依赖在网关服务中实现对服务转发时候的保护机制。通过线程隔离和断路器,防止服务的故障引发API网站资源无法释放进而导致雪崩效应的出现。(前面在文章hystrix已经讲过,大家可以详细参考前面的文章)
  • spring-cloud-starter-ribbon:这个依赖主要是实现在网关服务进行路由转发时候的客户端负载以及请求重试。(前面在文章ribbon已经讲过,大家可以详细参考前面的文章)
  • spring-boot-starter-actuator:这个一来提供常规的服务管理端点。

第二步:创建启动类,使用@EnableZuulProxy 。这个注解开启ZUUL的API网关服务功能具体如下:

@EnableZuulProxy :说明开启ZUUL。

第三步:配置属性文件,配置application.pxy 。配置zuul应用于的基础信息,如应用名、服务端口具体如下:

port 端口

name 应用名。

因为zuul配合eureka、ribbon、hystrix 使用,所以这里也配置了eureka的一些属性。

三、zuul 是如何路由的(面向服务路由规则)

传统路由的配置方式给运维人员带来很多麻烦,我们在微服务中一般是zuul 与Eureka 整合的,我不让路由指定的PATH不是具体的URL,而让它就映射到具体的服务上。而具体的URL交给Eureka 的服务发现机制去自动维护。一般我们叫这个方式为:面向服务的路由。所以需要引入Eureka 资源和Eureka 配置

四、怎么使用

这是服务启动后的界面,其中有多了一下API网关

五、总结

通过面向服务的路由配置方式,AIP网关服务自动化完成服务实例清单的维护,解决了对路由映射实例的维护问题。

声明:文章属于个人原创,转载请注明文章出处

原文发布于微信公众号 - 全华班(quanhuaban)

原文发表时间:2017-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

在传统.NET Framework 上运行ASP.NET Core项目

新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如《使用 JavaScriptService 在.NET Core 里实现DES加...

2099
来自专栏FreeBuf

Xdigger Framework:一款网络安全测试辅助框架

*本文作者、Xdigger Framework开发者:guyoung Xdigger Framework是一款基于.Net Framework的网络安全测试辅助...

1817
来自专栏Java开发

INTELLIJ IDEA插件安装(阿里的编码约束)

在项目中,有的小伙伴第一次使用IDEA进行开发,想装开发插件(编码约束,lombk等)不知如何下手,下面小编就以安装Alibaba Java Coding Gu...

782
来自专栏西城知道

安装10分钟临时邮箱Forsaken Mail教程【实用篇】

当我们注册一些网站的时候,我们不想用自己的邮箱注册,因为不想接收那些垃圾推广广告,这个时候我们需要一个方便快捷,点击即用的邮箱,就类似于那个著名的10分钟临时邮...

1243
来自专栏Youngxj

emlog后台登录地址加密

2548
来自专栏zhisheng

Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/

682
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html

762
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)【Dalston版】

通过上一篇《分布式服务跟踪(整合logstash)》,我们虽然已经能够利用ELK平台提供的收集、存储、搜索等强大功能,对跟踪信息的管理和使用已经变得非常便利。但...

3155
来自专栏鬼谷君

centos7安装python的MySQLdb模块

952
来自专栏程序猿DD

使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来...

2028

扫码关注云+社区