北京网站建设itcask,接网站开发项目平台,wordpress 公司网站 模板 下载,环保h5微网站前言
不知不觉#xff0c;“微服务实战系列”已完成了六篇#xff0c;每篇都聚焦一个主题#xff0c;目的是便于各位盆友能够快速、全面地接收和消化。 博主从服务注册到服务监控#xff0c;从服务路由到服务安全#xff0c;从身份认证到加密技术均有涉猎。凡此均有关微服…前言
不知不觉“微服务实战系列”已完成了六篇每篇都聚焦一个主题目的是便于各位盆友能够快速、全面地接收和消化。 博主从服务注册到服务监控从服务路由到服务安全从身份认证到加密技术均有涉猎。凡此均有关微服务设计和运行的的方方面面不得不考虑。 行文至此博主脑门突然闪现出一个灵感 微服务架构好比一个大型“部落”所谓见“微”知大不禁由衷感叹一番。 这里有负责行政的有负责交通的有负责开户的有负责查证的有负责安检的有负责监管的有负责拉闸的有负责限…的等等。 好了博主带着大家接着盘点微服务那些事儿前序文章已聚齐欢迎三连有求必应
微服务实战系列之Sentinel微服务实战系列之Token微服务实战系列之Nacos微服务实战系列之Gateway微服务实战系列之加密RSA微服务实战系列之签名Sign
剧情进入新的境界今晚我们该聊聊关于Feign的前世今生了。 Q什么是Feign Fegin是一个通过Java调用HTTP的客户端。其灵感来自于Retrofit、JAXRS-2.0和WebSocket。Feign的首要目标是降低调用HTTP服务的复杂性而无需关心是否为RESTful。 官方文档spring-cloud-feign 官方代码spring-cloud-openfeign
一句话总结Feign是一个的客户端基于此客户端我们可以调用异构型的http服务而无需关心服务端是如何实现的。 这不禁让博主想到了WS当初WS横空初世的时候口号无比响亮效果异常出彩赢得了世人众多热捧。无论什么人和事简单又纯粹自然就可爱。 实践应用
1. Feign客户端
/*** 用户服务*/
FeignClient(contextId userService, value com-user, fallbackFactory UserFallbackFactory.class)
public interface ProxyUserService
{/*** 通过用户名查询用户信息*/GetMapping(/user/info/{username})public TUser getUser(PathVariable(username) String username, RequestHeader(from) String source);
}
2. 服务降级Factory
/*** 服务降级factory*/
Component
public class UserFallbackFactory implements FallbackFactoryUserService
{Overridepublic UserService create(Throwable throwable){log.error(用户服务调用失败:{}, throwable.getMessage());return new UserService(){Overridepublic TUser getUserInfo(String username, String source){return T.fail(throwable.getMessage());}}}
}3. 检索服务
通过FeignClient中的value值可以检索到相应的微服务com-user该名称来自Nacos服务注册的名称必须保持一致。
/*** 用户服务com-user*/
RestController
RequestMapping(/user)
public class UserController
{
GetMapping(/info/{username})public TUser info(PathVariable(username) String username){//TODO此处省略...}
}以上为Feign的核心代码博主大致做了简单的介绍。当然还有其他配置 比如日志管理、拦截器等可以参见官方教程查阅。 结语
Feign可以帮助简化 HTTP API 的调用可以用于服务间调用顺便也集成了Hystrix。具备可这几个特征使其在微服务中占据一席之地。 至此本篇已完结又该说再见了各位盆友有空接着聊~