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 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

使用python实现RESTful API服务器端的思路

最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了。 REST的六个特性 Client...

5638
来自专栏轮子工厂

版本控制之助你开始使用 git 的简易指南

为什么要进行版本控制? 最简单的例子,当我们用文字处理软件工作时(如Word)时需要进行修改,而有时候又不确定修改的内容是不是需要的,因此会产生许多个文件,如图...

874
来自专栏Vamei实验室

Linux开机启动(bootstrap)

计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程,我们满心期望的...

2298
来自专栏伪君子的梦呓

使用github搭建个人博客

前言 为什么我要搭建一个个人博客呢?主要是为了方便自己分类一些东西,而且最近在学 html 和 css ,搭建一个博客来帮助自己理解一下。 文章主要分6个部分,...

4236
来自专栏程序员宝库

Laravel 开发 RESTful API 的一些心得

最近用 Laravel 写了一段时间的 API,总结一下自己的心得吧。 Start API开发我们可以看到,有些网站用token验证身份,有些用OAuth2.0...

5009
来自专栏网商云

小白教程--centos7修改ssh远程端口

新账号关联我们公司购买腾讯云产品,有优惠哦!联系电话:13430587834(微信同号)

4164
来自专栏无题

分布式Session一致性解决方案

在分布式架构或微服务架构下,必须保证一个应用服务器上保存Session后,其它应用服务器可以同步或共享这个Session Web应用在单机部署的情况下,Ses...

3746
来自专栏iOS 开发杂谈

iOS之创建CocoaPods公有库教程

在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中。

1041
来自专栏猿天地

Elastic-Job动态添加任务

背景 在使用Elastic-Job的过程中,有很多人遇到了这么一个问题,就是如何动态的去添加任务? 在官方的文档中也有对此作出回答,如下: 动态添加作业这个概念...

4927
来自专栏Python自动化测试

Jmeter&Ant构建自动化测试平台

JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 Apache软件基金会的Stefano Mazzocchi JMeter的最...

1594

扫码关注云+社区