SpringCloud-负载均衡器 Ribbon
上一篇 SpringCloud-声明式服务调用 Feign 中介绍了如何使用 Feign 来完成服务调用。因为 Feign 本身已经集成了 Ribbon ,所以也具有负载均衡的能力。那么本篇将使用 RestTemplate + Ribbon 来实现服务调用和负载均衡策略。
上一篇 SpringCloud-声明式服务调用 Feign 中介绍了如何使用 Feign 来完成服务调用。因为 Feign 本身已经集成了 Ribbon ,所以也具有负载均衡的能力。那么本篇将使用 RestTemplate + Ribbon 来实现服务调用和负载均衡策略。
Fegin 是一个声明式的 web 服务客户端,它使得编写 web 服务客户端变得更加容易。使用 Fegin 创建一个接口并对它进行注解。它具有可插拔的注解支持包括 Feign 注解与 JAX-RS 注解,Feign 还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC 的注解,Spring Web 默认使用了 HttpMessageConverters。Fegin 还可以集成 Ribbon 和 Hystrix 来提供负载均衡和网络断路器的功能。
本篇将使用 Fegin + eureka client 来完成服务发现和调用。
springSession
是 spring
旗下的一个项目,把 servlet
容器实现的 httpSession
替换为springSession
,专注于解决session
管理问题。可简单快速且无缝的集成到我们的应用中。本文通过一个案例,使用SpringBoot
来集成 SpringSession
,并且使用Redis
作为存储来实践下SpringSession
的使用。
我们知道,HttpServletRequset
和HttpServletResponse
是Servlet
标准所指定的Java
语言与Web
容器进行交互的接口。接口本身只规定java
语言对web
容器进行访问的行为方式,而具体的实现是由不同的web
容器在其内部实现的。
那么在运行期,当我们需要对HttpServletRequset
和HttpServletResponse
的默认实例进行扩展时,我们就可以继承HttpServletRequestWrapper
和HttpServletResponseWrapper
来实现。
上一篇文章 SpringSession:集成SpringBoot 中介绍了如何在SpringBoot
中来集成 SpringSession
,整个过程非常简单,同时也简单分析了下SpringSession
的作用原理。继上一篇实践之后,本文主要来分析 SpringSession
的原理。
在之前的文章中已经对SpringSession
的功能结构,请求/响应重写等做了介绍。本文将继续来介绍下SpringSession
中存储部分的设计。存储是分布式session
中算是最核心的部分,通过引入三方的存储容器来实现session
的存储,从而有效的解决session
共享的问题。
原文:https://blog.csdn.net/sinat_25518349/article/details/85042029
首先需求在这里说明下,SpringSession的版本迭代的过程中肯定会伴随着一些类的移除和一些类的加入,目前本系列使用的版本是github上对象的master的代码流版本。如果有同学对其他版本中的一些类或者处理有疑惑,欢迎交流。
本篇将来介绍下SpringSession
中两种sessionId
解析的策略,这个在之前的文章中其实是有提到过的,这里再拿出来和SpringSession
中Cookie
相关策略一起学习下。
SOFATracer 是一个用于分布式系统调用跟踪的组件,通过统一的
traceId
将调用链路中的各种网络调用情况以日志的方式记录下来,以达到透视化网络调用的目的。这些日志可用于故障的快速发现,服务治理等。
Spring Boot
提供了一个基础的健康检查的能力,中间件和应用都可以扩展来实现自己的健康检查逻辑。但是 Spring Boot 的健康检查只有 Liveness Check
的能力,缺少 Readiness Check
的能力,这样会有比较致命的问题。当一个微服务应用启动的时候,必须要先保证启动后应用是健康的,才可以将上游的流量放进来(来自于 RPC,网关,定时任务等等流量),否则就可能会导致一定时间内大量的错误发生。