SpringCloud-声明式服务调用 Feign

Fegin 是一个声明式的 web 服务客户端,它使得编写 web 服务客户端变得更加容易。使用 Fegin 创建一个接口并对它进行注解。它具有可插拔的注解支持包括 Feign 注解与 JAX-RS 注解,Feign 还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC 的注解,Spring Web 默认使用了 HttpMessageConverters。Fegin 还可以集成 Ribbon 和 Hystrix 来提供负载均衡和网络断路器的功能。

本篇将使用 Fegin + eureka client 来完成服务发现和调用。

阅读更多

SpringSession系列-集成SpringBoot

springSessionspring 旗下的一个项目,把 servlet 容器实现的 httpSession替换为springSession,专注于解决session管理问题。可简单快速且无缝的集成到我们的应用中。本文通过一个案例,使用SpringBoot来集成 SpringSession,并且使用Redis作为存储来实践下SpringSession 的使用。

阅读更多

SpringSession系列-请求与响应重写

我们知道,HttpServletRequsetHttpServletResponseServlet标准所指定的Java语言与Web容器进行交互的接口。接口本身只规定java语言对web容器进行访问的行为方式,而具体的实现是由不同的web容器在其内部实现的。

那么在运行期,当我们需要对HttpServletRequsetHttpServletResponse的默认实例进行扩展时,我们就可以继承HttpServletRequestWrapperHttpServletResponseWrapper来实现。

阅读更多

SpringSession系列-存储机制之Redis&Map

在之前的文章中已经对SpringSession的功能结构,请求/响应重写等做了介绍。本文将继续来介绍下SpringSession中存储部分的设计。存储是分布式session中算是最核心的部分,通过引入三方的存储容器来实现session的存储,从而有效的解决session共享的问题。

阅读更多

SpringSession系列-sessionId解析和Cookie读写策略

原文:https://blog.csdn.net/sinat_25518349/article/details/85042029

首先需求在这里说明下,SpringSession的版本迭代的过程中肯定会伴随着一些类的移除和一些类的加入,目前本系列使用的版本是github上对象的master的代码流版本。如果有同学对其他版本中的一些类或者处理有疑惑,欢迎交流。

本篇将来介绍下SpringSession中两种sessionId解析的策略,这个在之前的文章中其实是有提到过的,这里再拿出来和SpringSessionCookie相关策略一起学习下。

阅读更多

SOFATracer 插件埋点机制详解

SOFATracer 是一个用于分布式系统调用跟踪的组件,通过统一的 traceId 将调用链路中的各种网络调用情况以日志的方式记录下来,以达到透视化网络调用的目的。这些日志可用于故障的快速发现,服务治理等。

RoadMapPR 来看,目前 SOFATracer 已经支持了丰富的组件插件埋点。

阅读更多

SOFABoot 健康检查能力分析

Liveness Check & Readiness Check

Spring Boot 提供了一个基础的健康检查的能力,中间件和应用都可以扩展来实现自己的健康检查逻辑。但是 Spring Boot 的健康检查只有 Liveness Check 的能力,缺少 Readiness Check 的能力,这样会有比较致命的问题。当一个微服务应用启动的时候,必须要先保证启动后应用是健康的,才可以将上游的流量放进来(来自于 RPC,网关,定时任务等等流量),否则就可能会导致一定时间内大量的错误发生。

阅读更多