当前位置: 首页 > news >正文

镇江网站建设zjmfkj网站首页设计多少钱

镇江网站建设zjmfkj,网站首页设计多少钱,凡科网站模块,建设公司和建筑公司哪个好Feign简介 Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin提供负载均衡的http客户端 只需要创建一个接口,然后添加注解即可。使用…

Feign简介

Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin提供负载均衡的http客户端

只需要创建一个接口,然后添加注解即可。使用接口方式调用服务

Feign,主要是社区版,大家都习惯面向接口编程。这个是很多开发人员的规范。调用微服务访问两种方法

1.微服务名字 ribbon

2.接口和注解 feign
 

Feign的作用

  • Feign旨在使编写Java Http客户端变得更容易
  • 前面在使用Ribbon + RestTemplate时,利用RestTemplate对Http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一个客户端类来包装这些依赖服务的调用。所以,Feign在此基础上做了进一步的封装,由他来帮助我们定义和实现依赖服务接口的定义,在Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置它 (类似以前Dao接口上标注Mapper注解,现在是一个微服务接口上面标注一个Feign注解),即可完成对服务提供方的接口绑定,简化了使用Spring Cloud Ribbon 时,自动封装服务调用客户端的开发量。

Feign默认集成了Ribbon

利用Ribbon维护了MicroServiceCloud-Dept的服务列表信息,并且通过轮询实现了客户端的负载均衡,而与Ribbon不同的是,通过Feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用。

Ribbon和Feign的区别

  • Ribbon和Feign都是用于调用其他服务的,不过方式不同。
  • Ribbon RestFul风格
  • Feign 面向接口
  1. 启动类使用的注解不同,Ribbon用的是@RibbonClient,Feign用的是@EnableFeignClients。
  2. 服务的指定位置不同,Ribbon是在@RibbonClient注解上声明,Feign则是在定义抽象方法的接口中使用@FeignClient声明。
  3. 调用方式不同,Ribbon需要自己构建http请求,模拟http请求然后使用RestTemplate发送给其他服务,步骤相当繁琐。
  4. Feign则是在Ribbon的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法即可,不需要自己构建http请求。不过要注意的是抽象方法的注解、方法签名要和提供服务的方法完全一致。

 Feign使用接口方法调用服务

创建springcloud-api-feignmaven项目,导入springcloud-api所有内容。

导入Feign依赖

       <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId><version>1.4.6.RELEASE</version></dependency>

在service中创建DeptClientService

@FeignClient(value = "SPRINGCLOUD-PROVIDER-DEPT")
public interface DeptClientService {@GetMapping("/dept/getlist")public List<RUser> get();
}

新创建maven项目 springcloud-consumer-dept-feign,复制springcloud-consumer-dept-80项目的所有内容,更改启动类名称为FeignDeptConsumer_80

导入feign依赖

        <dependency><groupId>org.example</groupId><artifactId>springcloud-api</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version></dependency><!--Ribbon--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId><version>1.4.6.RELEASE</version></dependency>

DeptConsumerController

@RestController
public class DeptConsumerController {//Feign面向接口编程//springcloud-api-feign 下的service@Autowiredprivate DeptClientService deptClientService =null;@RequestMapping("/consumer/getlist")public List<RUser> get(){return deptClientService.get();
}

在DeptConsumer_feign启动类加上Feign相关注解


@SpringBootApplication
@EnableEurekaClient  //在服务启动后,自动注册到Eureka注册中心中
@EnableFeignClients(basePackages = {"com.zlt.springCloud"}) //Feign被扫描到
public class DeptConsumer_feign {public static void main(String[] args) {SpringApplication.run(DeptConsumer_feign.class,args);}
}
  • 启动注册中心,启动服务提供者,启动当前端口。运行浏览器,根据控制器配置的路径访问,运行没问题,完成!

http://www.yayakq.cn/news/236792/

相关文章:

  • 百度站长工具网址上海定制网站开发
  • 做网站优化竞价区别建设银行网站是多少钱
  • 制作网站备案幕布高端网站建设大概多少费用
  • 怎样写企业网站建设方案保姆seo教程
  • 网站登陆界面怎么做网站建设的技术保证怎么写
  • 重庆企业品牌网站建设怎么做自己的网站后台教程
  • 关于网站制作的评价企业网站建设开发公司
  • 网站和网页有什么区别wordpress安装532
  • 雄县哪做网站定制网站系统
  • 北京上云网站建设公司做网站wamp和xamp
  • 怎么做样网站沈阳蓝德网站建设
  • 衡水制作网站内容营销的重要性
  • 企业门户网站建设方案书枣庄网站建设费用
  • 苏州园区网站制作公司自己的网站如何做分销
  • 沈阳世纪兴网站制作公司网站建设广州天河区
  • 网站开发 自动填写表单网页设计html代码大全唐代诗人
  • 南京做网站的公司有哪些高新网站设计找哪家
  • 做一个网站需要怎么做图片版小说网站源码
  • 中国建设银行报名网站网站运作模式
  • 什么网站可以发布信息做模型的网站有哪些
  • 类似稿定设计的网站怎么做盗文网站
  • 基于jsp的社团组织网站建设游戏平台搭建
  • 租号网站建设网站怎么进入
  • 门户网站建设公司市场深圳新增130例
  • 旅游网站建设课程设计报告wordpress cms原创
  • 温州制作企业网站网站建站开发
  • 网站建设的工期拖延如何解决为什么都说2024年房价降
  • 免费word模板下载哪个网站橱柜企业网站模板
  • 大气网站设计2017做哪些网站能致富
  • 广州个人网站建设公司宁夏微信服务网站