博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud Alibaba 教程 | Nacos 集成 Feign(四)
阅读量:4185 次
发布时间:2019-05-26

本文共 2037 字,大约阅读时间需要 6 分钟。

文章目录

Feign是什么

feign是一个声明式的伪HTTP客户端,它是写Http客户端变的更简单。

为什么简单?

因为使用Feign只需要创建一个接口并添加注解,它具有可插拔的特性。Feign支持可插拔的解码器和编码器。Feign默认集成了Ribbon,Nacos也很好的兼容了Feign。默认实现了负载均衡的效果。

服务提供者

服务提供者是不需要做任何配置的,正常的写业务代码,主要在服务消费者进行配置。

yml配置
spring:  application:    name: nacos-consumer  cloud:    nacos:      discovery:        server-addr: 127.0.0.1:8848     #注册中心地址      config:        server-addr: 127.0.0.1:8848     #注册中心地址server:  port: 17587
application
@SpringBootApplication// 开启服务注册@EnableDiscoveryClientpublic class NacosConsumerApplication {    public static void main(String[] args) {        SpringApplication.run(NacosConsumerApplication.class, args);    }}
Service
public class TestService {    public List
getList() { List list= Arrays.asList("1", "2", "3","4","5","6","7","8","0"); return list; }}
controller
@RestController@RefreshScopepublic class TestController {    @GetMapping("/getlist")    public List getList() {        return testService.getList();    }}

服务消费者

客户端需要导入feign的依赖

org.springframework.cloud
spring-cloud-starter-openfeign
yml配置
server:  port: 17537spring:  application:    name: nacos-provider  cloud:    nacos:      discovery:        server-addr: 127.0.0.1:8848     #注册中心地址      config:        server-addr: 127.0.0.1:8848     #注册中心地址
application (添加Feign客户端注解@EnableFeignClients)
@SpringBootApplication// 开始服务注册@EnableDiscoveryClient// 开启feign客户端@EnableFeignClientspublic class ProviderNacosApplication {    public static void main(String[] args) {        SpringApplication.run(ProviderNacosApplication.class, args);    }}
调用接口feign

定义一个接口,添加**@FeignClient**注解,name指定服务名。

@FeignClient(name = "nacos-consumer")public interface FeignService {    @GetMapping("/getlist")    List getlist();}
controller

通过服务接口,调用对应的方法

@RestController@RefreshScopepublic class EchoController {    @Autowired    private FeignService feignService;    @GetMapping("/list")    public List getServiceList() {        return feignService.getlist();    }}

转载地址:http://ebfoi.baihongyu.com/

你可能感兴趣的文章
solr原子更新功能
查看>>
greenplum + pgsql和Hadoop+hive+hbase
查看>>
cpu,硬盘,内存
查看>>
Elasticsearch 合理内存分配
查看>>
elasticsearch 与 hive集成
查看>>
ElasticSearch 2 的节点调优(ElasticSearch性能)
查看>>
Elasticsearch与hadoop比较
查看>>
raid5
查看>>
eclipse中调试solr
查看>>
solr有关Pig0.12.0和Solr4.10.2
查看>>
建议使用Solr或ElasticSearch这样的封装了
查看>>
图形数据库Neo4J简介
查看>>
JDBC 连接 带实例名的SQL Server
查看>>
mysql多实例的配置和管理
查看>>
DB2和GreenPlum对比
查看>>
PostgreSQL与Oracle的差异对比
查看>>
java多线程:线程池的原理及实现
查看>>
Java线程:概念与原理
查看>>
redis有序集内部实现原理
查看>>
Redis架构设计
查看>>