SpringCloud(二):生产者与消费者

/ SpringCloud / 0 条评论 / 873人围观

基于SpringBoot2.+,包括服务的提供与调用。

生产者

引入jar包

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <!--增加eureka-server的依赖 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>

    <!-- 在集成测试的时候实现热部署,true:开启 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>

</dependencies>

配置启动类

需要在启动类上加@EnableDiscoveryClient注解,表明它是一个Eureka客户端

@EnableDiscoveryClient
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

配置文件

server:
  port: 8082

spring:
  application:
    name: Server-Provider

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone: https://localhost:8080/eureka/

测试

  1. 编写Controller
/**
 * description
 *
 * @author 70KG
 * @date 2018/10/26
 */
@RestController
public class TestController {

    @GetMapping("/getInfomations")
    public String hello(String param) {
        return "hello" + param;
    }
    
}
  1. 启动注册中心和生产者(Provider)
  2. 访问注册中心,如下,表明生产者已经注册到了注册中心上。 请输入图片描述
  3. 单独访问接口(https://localhost:8082/getInfomations?param=world),返回helloworld,ok成功。

消费者

说到消费者和生产者,在cloud中,并没有严格意义上的区分,一个服务既可以作为生产者,同时也可以作为消费者,没有任何的不同。