在微服务架构搭建声明性REST客户端【feign】。
Feign是一个声明式的Web服务客户端。这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。Spring Cloud增加了对Spring MVC注释的支持,并使用Spring Web中默认使用的HttpMessageConverters。Spring Cloud集成Ribbon和Eureka以在使用Feign时提供负载均衡的http客户端。

有关Feign做微服务降级处理的文章请看上海尚学堂《Hystrix在Fegin做服务降级处理》。

如何加入Feign

第一步
加入feign的Jar

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

第二步
 
修改配置文件application.yml

spring:
application:
name: microservice-consumer-movie
server:
port: 7901
eureka:
client:
healthcheck:
enabled: true
serviceUrl:
defaultZone: http://user:password123@localhost:8761/eureka
instance:
prefer-ip-address: true

  

第三步
 
添加fegin客户端接口

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yonggan.entity.User; @FeignClient("microservice-provider-user") // 服务名称
public interface UserFeignClient { @RequestMapping(value = "/simple/{id}" ,method = RequestMethod.GET)
User findById(@PathVariable("id") Long id);
}

  

第四步
 
添加fegin 接口注入到我们web接口层那使用。

@RestController
public class MovieController {
/**
* 添加fegin 远程的客户端
* 了解更多微信:java8733
*/
@Autowired
private UserFeignClient feignClient; @GetMapping("/movie/{id}")
public User findById(@PathVariable Long id) {
return feignClient.findById(id);
}
}

  

上述就是我们快速的搭建Fegin环境的demo,由上海尚学堂java老师提供支持,感谢!

微服务中Feign快速搭建的更多相关文章

  1. Re:从0开始的微服务架构--(二)快速快速体验微服务架构?--转

    原文地址:https://mp.weixin.qq.com/s/QO1QDQWnjHZp8EvGDrxZvw 这是专题的第二篇文章,看看如何搭建一个简单模式的微服务架构. 记得好久之前看到一个大牛说过 ...

  2. 谈谈微服务中的 API 网关(API Gateway)

    前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉. 那么,在本篇文章中,我们就一起来探 ...

  3. Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)

    导读 我们知道在基于Spring Cloud的微服务体系中,各个微服务除了在内部提供服务外,有些服务接口还需要直接提供给客户端,如Andirod.IOS.H5等等. 而一个很尴尬的境地是,如果直接将提 ...

  4. 微服务中的 API 网关(API Gateway)

    API 网关(API Gateway)提供高性能.高可用的 API 托管服务,帮助用户对外开放其部署在 ECS.容器服务等云产品上的应用,提供完整的 API 发布.管理.维护生命周期管理.用户只需进行 ...

  5. Service Mesh——微服务中的流量管理中间件

    Service Mesh--微服务中的流量管理中间件 摘自-https://zhuanlan.zhihu.com/p/28794062 Service mesh 与 Cloud Native Kube ...

  6. 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现

    庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介      在第七篇文章<庐山真面目之七微服务架构Consul ...

  7. .NET CORE微服务中CONSUL的相关使用

    .NET CORE微服务中CONSUL的相关使用 1.consul在微服务中的作用 consul主要做三件事:1.提供服务到ip的注册 2.提供ip到服务地址的列表查询 3.对提供服务方做健康检查(定 ...

  8. 在spring boot微服务中使用JWS发布webService

    发布时间:2018-11-22   技术:Java+spring+maven   概述 在springboot微服务中使用JWS发布webService,在服务启动时自动发布webservice接口. ...

  9. 微服务中的健康监测以及其在ASP.NET Core服务中实现运行状况检查

    1 .什么是健康检查? 健康检查几乎就是名称暗示的.它是一种检查您的应用程序是否健康的方法.随着越来越多的应用程序转向微服务式架构,健康检查变得尤其重要(Health Check).虽然微服务架构有很 ...

随机推荐

  1. 20165315 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解

    20165315 2018-2019-2 <网络对抗技术>Exp1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调 ...

  2. Java多线程02(线程安全、线程同步、等待唤醒机制)

    Java多线程2(线程安全.线程同步.等待唤醒机制.单例设计模式) 1.线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量 ...

  3. vue 利用原声input上传图片并预览并删除

    <template> <div class="com-upload-img"> <div class="img_group"> ...

  4. 十二、针对单个工程来配置jdk版本

    转载自:https://jingyan.baidu.com/article/9f63fb91427b06c8400f0e98.html 首先小编这里的eclipse工作空间默认的jdk版本是jdk1. ...

  5. Django 的认识,面试题

    Django 的认识,面试题 1. 对Django的认识? #1.Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构.以及全 ...

  6. JVM总括二-垃圾回收:GC Roots、回收算法、回收器

    JVM总括二-垃圾回收:GC Roots.回收算法.回收器 目录:JVM总括:目录 一.判断对象是否存活 为了判断对象是否存活引入GC Roots,如果一个对象与GC Roots没有直接或间接的引用关 ...

  7. scrapy 爬取斗罗大陆漫画

    # -*- coding: utf-8 -*- import scrapy import json import os import urllib import time from scrapy.ht ...

  8. 有关在Eclipse中安装STS(Spring Tool Suite)的若干问题总结

    1.之前说明 在网上找了很多安装的方法,每次在线安装总会出现各种各样的问题,本地安装也是出现同样的问题(后来发现是下载的包有问题) 还有其他问题(忘记截图了,上图来自网络),大概就是这些各种各样的错误 ...

  9. linux学习第十八天 (Linux就该这么学)

    今天讲了23章节,OPENLDAP安装配置,感觉好难 ,不过考试测试,CA也没有了,主要还讲了数据库mariadb,安装,配置,使用,基本的数据库管理,还讲了,网络安装系统,我暂时先不写其它了,上传图 ...

  10. union: php/laravel command

    #########Laravel###############2018-01-09 16:46:26 # switch to maintenance mode php artisan down # s ...