zoukankan      html  css  js  c++  java
  • spring cloud微服务快速教程之(五) 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、运行测试

     

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

    ZUUL简单使用完毕;

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

  • 相关阅读:
    SQlite数据库
    关于如何获取剪切板的多个图片处理
    aes 和 Md5 分析
    SIP消息
    getItemAt
    C++ map的方法
    C++ 解析Json
    CentOS 6.3安装配置LAMP服务器(Apache+PHP5+MySQL)
    阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)
    Apache虚拟主机(vhost)配置教程
  • 原文地址:https://www.cnblogs.com/yanghj/p/12162859.html
Copyright © 2011-2022 走看看