Hystrix在工作中的一些实践
代码改变世界
Hystrix 提供了一套相对完善的服务隔离、熔断、降级方案,但是在分布式和微服务应用时,仍然有一些需求没有实现,包括:
- Hystrix 虽然支持请求缓存,但是缓存的周期只是在一次请求,说实话很鸡肋,尝试过的人都懂...而无法面对这种场景:
- 场景1:多次请求中,无法先调用缓存再执行HystrixCommand,以提高性能
- 场景2:多次请求中,无法先执行HystrixCommand再调用缓存,以提高服务可用性
上边2个场景听起来可能还是很模糊,下面以小红书关注Tab 即Feed流举例来说,用户再往下滑的过程中,服务端下发这些feed数据包含了用户昵称、头像、feed信息、评论数、收藏数等等,与之对应的可能就是用户服务、feed源信息服务、评论服务、收藏服务等等,
一、场景1
场景1:多次请求中,无法先调用缓存再执行HystrixCommand,以提高性能
例如上面举例中,用户信息的变动不会很频繁,所以在feed流聚合用户信息,可以先调用缓存,然后再执行HystrixCommand查询用户信息