Springcloud(13)路由网关:zuul

API网关

在微服务架构中,通常会有多个服务提供者。设想一个电商系统,可能会有商品、订单、支付、用户等多个类型的服务,而每个类型的服务数量也会随着整个系统体量的增大也会随之增长和变更。作为UI端,在展示页面时可能需要从多个微服务中聚合数据,而且服务的划分位置结构可能会有所改变。网关就可以对外暴露聚合API,屏蔽内部微服务的微小变动,保持整个系统的稳定性。
当然这只是网关众多功能中的一部分,它还可以做负载均衡,统一鉴权,协议转换,监控监测等一系列功能。
网关图片
在这里插入图片描述

Zuul

Zuul是Spring Cloud的微服务API网关。

所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序。作为一个边界性质的应用程序,Zuul提供了动态路由、监控、弹性负载和安全功能。Zuul底层利用各种filter实现如下功能:

  • 认证和安全 识别每个需要认证的资源,拒绝不符合要求的请求。

  • 性能监测 在服务边界追踪并统计数据,提供精确的生产视图。

  • 动态路由 根据需要将请求动态路由到后端集群。

  • 压力测试 逐渐增加对集群的流量以了解其性能。

  • 负载卸载 预先为每种类型的请求分配容量,当请求超过容量时自动丢弃。

  • 静态资源处理 直接在边界返回某些响应。

zuul简单实列,实现路由跳转与过滤

1.创建zuul Module:springcloud-zuul-9527
2.导入依赖:zuul需要注册在eureka注册中心

  <!--zuul-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--Eureka客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

3.配置配置文件:配置zuul来实现路由跳转与过滤

#配置端口
server:
  port: 9527
#服务名称
spring:
  application:
    name: springcloud-zuul
#注册到eureka注册中心
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka/
  instance:
    instance-id: zuul9527.com
    prefer-ip-address: true
 #zuul配置
 zuul:
  routes:
    mydept.serviceId: springcloud-provider-dept #需要隐藏的访问服务的服务名
    mydept.path: /mydept/** #服务隐藏代替后的名字
  ignored-services: springcloud-provider-dept #将真实访问的服务名忽略,不然直接访问真实的服务名照样实现。
  prefix : /liuqing  #设置公共请求

4.编写启动类,开启网关代理
@EnableZuulProxy :开启网关代理


@SpringBootApplication
@EnableZuulProxy
public class ZuulApplication_9527 {

    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication_9527.class,args);
    }
}

5.测试,启动注册中心,服务提供者,zuul网关。
之前访问地址:http://localhost:8001/dept/get/1
现在访问地址:http://localhost:9527/liuqing/mydept/get/1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值