专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SpringCloud教程(五) ZUUL API网关中心

0-前言

  我们一个个微服务构建好了,外部的应用如何来访问内部各种各样的微服务呢?在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一个代理层,这个代理层直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

  Zuul:就是一个API中间代理层,可以用来执行认证、动态路由、服务前移、负载均衡、安全、动态响应处理等;比如/api/user转发到到user服务,/api/order转发到到shop服务。zuul默认使用Ribbon实现负载均衡;

一、ZUUL的简单使用

1、1、创建ZUUL模块,添加依赖:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>

1、2、创建配置文件,增加配置

server:
  port: 8081
spring:
  application:
    name: zuul
# 配置Eureka地址
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true
# 构建路由地址
zuul:
  prefix: /api
  routes:
    # 这里可以自定义
    user:
      # 匹配的路由规则
      path: /user/**
      # 路由的目标服务名
      serviceId: user
    order:
      # 匹配的路由规则
      path: /order/**
      # 路由的目标服务名
      serviceId: order

1、3、启动类增加 @EnableZuulProxy 注解

@SpringBootApplication
@EnableZuulProxy
@EnableEurekaClient
public class application
{
    public  static void main(String[] args)
    {
        SpringApplication.run(application.class);
    }
}

完成

1、4、运行测试

111_1.png

111_2.png

可以看到,ZUUL已经按照配置文件的路由规则进行了路由转发,并对服务实现了负载均衡;

ZUUL简单使用完毕;

GITdemo地址:https://github.com/anson-yang/springclouddemo

文章永久链接:https://tech.souyunku.com/31815

未经允许不得转载:搜云库技术团队 » SpringCloud教程(五) ZUUL API网关中心

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们