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

SpringCloud(二)服务提供者与消费者

一.服务提供者

1、搭建Eureka Client客户端应用,同样使用springcloud的初始化工具,选择Eureka Discovery(除了注册中心全部是客户端)

97_1.png

2、 找到主程序类,贴上相应标签

@SpringBootApplication
@EnableEurekaClient     //开启 eureka客户端,也可以使用@EnableDiscoveryClient注解
public class ProducerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ProducerApplication.class, args);
    }
}

3、修改配置文件application.yml

server:
  port: 8082
spring:
  application:
    name: provider
eureka:
  client:
    service-url:
       defaultZone: http://127.0.0.1:8080/eureka

4、 启动注册中心EurekaServer,再启动Producer,此时访问注册中心地址http:localhost:8080地址,将会看到Instances currently registered with Eureka 项目下已经有一个服务被注册,服务名为:“PRODUCER” ,说明provider已经注册进去

5、 改造我们的项目Producer,让成为服务提供者:在该项目中创建ProvideController

@RestController
public class ProviderController {

    @RequestMapping("/provider")
    public String providerTest(@RequestParam(value = "name") String name){
        return name+"你好,这里是provider";
    }

}

二.服务消费者

1、创建服务消费者Consumer项目,创建过程和provider一致!

2、在主程序类上打上@EnableEurekaClient标签,并且注入RestTemplate

@SpringBootApplication
@EnableEurekaClient
public class ConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(Consumer1Application.class, args);
    }

    @Bean
    @LoadBalanced  //赋予负载均衡的能力,默认是轮询
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

3、修改配置 application.yml

server:
  port: 8083
spring:
  application:
    name: consumer
eureka:
  client:
    service-url:
       defaultZone: http://localhost:8080/eureka

4、 编写ConsummerController ,注入RestTemplate实例,实现和Producer服务的通信

注意:此时才可以通过服务名去调用接口了!!!因为我们赋予了restTemplate负载均衡的能力

 @RequestMapping("/consumer")
    public String consumerTest(@RequestParam(value = "name") String name){
        String forObject = restTemplate.getForObject("http://PROVIDER/provider?name=" + name, String.class);
        return forObject;
    }

5、 依次启动EurekaServer ,Producer,Consumer ,浏览器输入 http://localhost:8080/consumer?name=andy 返回结果:”andy:你好,这里是provider”

6、 访问 http://localhost:8080/ 你将会看到提供者和消费者服务都已经注册:

97_2.png

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

未经允许不得转载:搜云库技术团队 » SpringCloud(二)服务提供者与消费者

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

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

联系我们联系我们