spring cloud
2019-07-28 17:06:39 0 举报
AI智能生成
springcloud学习,持续更新中,互相学习
作者其他创作
大纲/内容
feign
工作原理
@EnableFeignClients注解开启@FeignClient注解扫描处理
程序启动时,扫描所有@FeignClient注解的类,将这些信息注入SpringIOC容器
当定义的Feign接口方法被调用时,通过JDK代理生成具体的RequestTemplate
RequestTemplate封装了Http请求需要的全部信息
由RequestTemplate成成Request,然后把Request交给Client去处理
Client可以是可以是JDK原生URLConnection、Apache的Http Client,OKHttp等
最后Client被封装到LoadBalanceClient,这个类结果Ribbon负载均衡发起服务间的调用
多参数传递
feign默认使用JDK原生URLConnection发送http请求,无连接池,但对每个地址保持一个长连接
可使用Apache的Http Client、OKHttp替换
实现RequestInterceptor.apply方法进行统一拦截转换处理Feign中Get方法多参数传递问题,POST方法多参数传递相对简单
eureka
服务的核心操作
服务注册:服务启动时调用LeaseManager.register()注册该实例信息
服务下线
服务租约:Eureka Server要求Client端定时进行续约,发送心跳来证明该实例是健康的
服务剔除:若一定时间未续约,Eureka Server端会主动剔除
设计理念
AP优于CP
CAP理论
Consistency:数据一致性
Availability
Partition Tolerence:分区容忍性
Peer to Peer架构
Zone及Region设计
Self Preservation设计
0 条评论
下一页