码迷,mamicode.com
首页 > 其他好文 > 详细

调用Consul服务(消费服务)

时间:2019-09-30 09:18:44      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:自己   wired   查看   远程服务   start   class   group   启动   stp   

调用Consul服务(消费服务)

依赖项

在spring-cloud-consul-client项目中添加依赖项,POM文件内容中添加如下依赖项:

                <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        </dependency>

                <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

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

spring-cloud-starter-consul-discovery为Consul提供支持,spring-cloud-starter-openfeign为HTTP请求提供Feign风格的调用,spring-boot-starter-web仅仅为了使用HTTP MVC测试方便。

配置信息

spring.application.name=spring-cloud-consul-client
server.port=9002
spring.cloud.consul.host=127.0.0.1
spring.cloud.consul.port=8500
#设置不需要注册到 consul 中
spring.cloud.consul.discovery.register=false

本测试不用把自己注册到服务中心里:spring.cloud.consul.discovery.register=false,所以在启动类里也不用声明@EnableDiscoveryClient注解。

远程服务调用接口

@FeignClient(name= "service-provider")
public interface ServiceProviderRemote {

    @RequestMapping("/hello")
    public String Hello(@RequestParam String name);
}

使用openfeign调用远程服务接口,openfeign是Spring封装后的Feign,本项目中openfeign需要使用spring-cloud-starter-consul-discovery。

测试消费服务接口

@RestController
public class TestConsul {

    @Autowired
    ServiceProviderRemote remote;

    @RequestMapping("/TestHello")
    public String TestHello(){
        String first = remote.Hello("first-SWS");
        String second = remote.Hello("second-SWS");
        return first + " | " + second;
    }

    @RequestMapping("/Test")
    public String Test(){
        return "OK";
    }
}

为了测试负载均衡所以调用两次服务接口。

启动类

@SpringBootApplication
@EnableFeignClients
public class SpringCloudConsulClientApplication {

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

}

在启动类里需要使用@EnableFeignClients注解启动openfeign。

启动项目测试

访问http://127.0.0.1:9002/TestHello查看结果:
技术图片

源码

Github仓库:https://github.com/sunweisheng/spring-cloud-example

调用Consul服务(消费服务)

标签:自己   wired   查看   远程服务   start   class   group   启动   stp   

原文地址:https://www.cnblogs.com/bluersw/p/11610703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!