【序8】springcloud-Feign

申明式Web服务客户端:Feign

申明式:接口声明、Annotation驱动
Web服务:HTTP的方式作为通讯协议
客户端:用于服务调用的存根
Feign:原生并不是Spring Web MVC的实现,基于AX-RS(Java REST规范)实现。Spring Cloud封装了Feign,使其支持Spring Web MVC。RestTemplateHttpMessageConverter

  • RestTemplate 以及Spring Web MVC可以显示地自定义HttpMessageconverter]实现。

假设,有一个Java接口Personservice,Feign可以将其声明它是以HTTP方式调用的。

需要服务组件(SOA):

  1. 注册中心(Eureka Server):服务发现和注册
    a. 应用名称:spring-cloud-eureka-server
    b. 服务端口:12345
  2. Feign客户(服务消费)端:调用Feign中明接口
    1.应用名称:person-client
  3. Feign 服务(服务提供)端:不一定强制实现Feign申明接口
    1.应用名称:person-service
  4. Feign声明接口(契约):定义一种Java强类型接口
    person-api
  • Feign客户(服务消费)端、Feign服务(服务提供)端以及Feign声明接口(契约)存放在同一个工程目录。

person-client 可以感知 person-service应用存在的,并且Spring Cloud 帮助解析PersonService中声明的应用名称:“person-service",因此person-client 在调用Personservice服务时,实际就路由到person-
service的URL

实现Ribbon的规则

  • Rule
  • 随机规则:RandomRule
  • 最可用规则:BestAvailableRule
  • 轮训规则:RoundRobinRule
  • 重试实现:RetryRule
  • 客户端配置:ClientConfigEnabledRoundRobinRule
  • 可用性过滤规则:AvailabilityFilteringRule
  • RT权重规则:WeightedResponseTimeRule
  • 规避区域规则:ZoneAvoidanceRule
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值