版本说明:

springboot:2.2.2.RELEASE

jdk:1.8

由于使用的是springCloud的eureka,会存在springboot和springcloud版本不兼容

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

1.创建Eureka 注册中心

导入eureka 依赖包

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

 

application.yml文件配置

server:port:3000

eureka:
    instance:
        hostname: localhost
    client:
        register-with-eureka: false
        fetch-registry: false
    serviceUrl:
        default-zone: http://${eureka.instance.hostname}:${server.port}/eureka
    server:
        eviction-interval-timer-in-ms: 5000

在启动类上加上@EnableEurekaServer注解

启动服务后访问:http://localhost:3000/eureka   ,可以看到

Springboot2.0 +Zuul Eureka Feign整合

由于还没有客户端注册进来,所以这里是空的

2.Zuul网关服务

添加依赖

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

application.yml

eureka:
    instance:
        instance_id: gateway
    client:
        service-url:
            defaultZone: http://localhost:3000/eureka/

配置服务路由地址 application.properties 文件

server.port=8080
spring.application.name=gateway

#所有以/a/**开头的服务会进到demoA服务

zuul.routes.demoA.path=/a/**
zuul.routes.demoA.serviceId=demoA
zuul.routes.demoA.stripPrefix=false

#同上

zuul.routes.demoC.path=/c/**
zuul.routes.demoC.serviceId=demoC
zuul.routes.demoC.stripPrefix=false

zuul.host.connect-timeout-millis=4000
zuul.host.socket-timeout-millis=2000

启动类上加入一**解

@EnableZuulProxy
@EnableEurekaClient

Springboot2.0 +Zuul Eureka Feign整合

3.创建客户端demoA和demoC

添加依赖pom.xml

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

application.yml文件

server:port:8081

spring.application.name:demoA

eureka:
    instance:
        instance-id: ${spring.cloud.client.hostname}:${server.port}
    client:
        service-url:
            defaultZone: http://localhost:3000/eureka/

在启动类上添加@EnableEurekaClient注解

创建controller

@RestController
@RequestMapping
public class AController {

    @GetMapping("/testA")
    public void test(){
        System.err.println("demoA");
    }
}

创建和demoA一样的demoC

demoC端口8082

4个服务都启动后

通过

http://localhost:8080/a/testA 就可以请求到demoA中的接口了

同理demoC  ,http://localhost:8080/c/testC

项目demo地址:https://download.csdn.net/download/u010290208/12657119

初次搭建,各位大佬多指教

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
  • 2021-10-02
  • 2021-06-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-17
  • 2021-05-14
  • 2021-04-01
  • 2022-12-23
  • 2021-07-05
  • 2021-09-30
  • 2021-08-27
相关资源
相似解决方案