zoukankan      html  css  js  c++  java
  • 搭建springCloud网关zuul

    一.pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.ams.gateway</groupId>
      <artifactId>ams-svc-gateway</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
      <parent>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>1.5.10.RELEASE</version>
          <relativePath/>
      </parent>
    
      <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
      </properties>
    
      <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-parent</artifactId>
                    <!--version>Dalston.SR1</version-->
                    <version>Edgware.SR3</version> 
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
       </dependencyManagement>
       
      <dependencies>
            <dependency>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-devtools</artifactId>
                 <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-zuul</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
              <groupId>org.springframework.cloud</groupId>
              <artifactId>spring-cloud-starter-eureka</artifactId>
           </dependency>
      </dependencies>
      <build>
          <plugins>
             <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
          </plugins>
      </build>
    </project>

    二.yml配置

    spring:
      application:
        name: gateway
      tomcat: 
        uri-encoding: UTF-8
      http:
        encoding:
          charset: UTF-8
          enabled: true
          force: true
      devtools:
        restart:
          enabled: true
    server:
      port: 8443
      ssl: 
        key-store: classpath:keystore.p12
        key-store-password: ams2018
        keyStoreType: PKCS12
        keyAlias: tomcat
    http:
      port: 7000
    eureka: 
    instance:
    perferIpAddress: true
    instanceId: ${spring.cloud.client.ipAddress}:${server.port} client: registerWithEureka:
    true fetchRegistry: true serviceUrl: defaultZone: http://admin:ams2018@127.0.0.1:7001/eureka/ #eureka.instance.preferIpAddress=true #eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port} #hystrix调用方法的超时时间,默认是1000毫秒,如果不调第一次启动会访问会报错,第二中方案是设置不超时hystrix.command.default.execution.timeout.enabled: false #熔断超时 hystrix: command: default: execution: isolation: thread: timeoutInMilliseconds: 60000 #网关配置 zuul: servlet-path: / #解决通过网关上传文件文件名乱码问题 host: connect-timeout-millis: 60000 socket-timeout-millis: 60000 ribbon: eager-load: enabled: true #启动饥饿加载 routes: api-service1: path: /service1/** serviceId: service1 stripPrefix: false api-service2: path: /** serviceId:service2 stripPrefix: false #转发时不忽略前缀

    三、启动类

    package com;
    
    import org.apache.catalina.Context;
    import org.apache.catalina.connector.Connector;
    import org.apache.tomcat.util.descriptor.web.SecurityCollection;
    import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
    import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
    import org.springframework.cloud.client.SpringCloudApplication;
    import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
    import org.springframework.context.annotation.Bean;
    
    @EnableZuulProxy
    @SpringCloudApplication
    public class Application
    {
        public static void main(String[] args)
        {
            new SpringApplicationBuilder(Application.class).web(true).run(args);
        }
    
    }
  • 相关阅读:
    设计模式之简单工厂模式
    设计模式之工厂方法模式
    设计模式之抽象工厂模式
    面向对象设计原则
    Spring与Struts整合
    Spring与Hibernate、Mybatis整合
    Java中执行外部命令
    Spring3之Security
    综合练习:词频统计
    组合数据类型综合练习
  • 原文地址:https://www.cnblogs.com/zincredible/p/9387791.html
Copyright © 2011-2022 走看看