Hcy Blog

保持激情,只有激情,才有动力

springCloudLoadbalance源码解读

springCloudLoadbalance源码解读​ 本文讲解spring-cloud-loadbalance这个包,这个包提供了微服务下的负载均衡功能。要想使用负载均衡前提是必须拥有注册中心,同一个名字的服务在注册中心上存在多个实例,这是就需要负载均衡来实现对多个实例的均衡请求。​ 类比一下dns系统,一个域名在dns上可能存在多个ip地址,这就相当于同一个微服务模块在注册中心上存在多个实例,我们进行dns查询后获取到的多个ip地址,我们会选择其中一个进行连接,具体如何选择...

spring事务和事务传播

spring事务和事务传播1.原生的事务控制是这样的​ 原生的事务是这样使用的,需要将连接设为非自动提交,执行完sql语句后,可以选择提交或者回滚。11public void test() throws SQLException { Connection connection = dataSource.getConnection(); try { connection.setAutoCommit(fa...

springGateway配置需要注意的点

springGateway配置需要注意的点1. 超时时间​ springGateway使用的是WebFlux里面的WebClient来执行请求,WebClient有一些超时时间需要配置,默认的可能不太合适。#默认连接时间,默认45秒,太长了可以在此配置spring.cloud.gateway.httpclient.connect-timeout=#响应读取时间,默认不设置超时时间,可以在此设置spring.cloud.gateway.http...

springGateway常见类分析

springGateway常见类分析​ 本文将springGateway的重要类提出来,从宏观角度理解下这个框架。1.HttpHandler​ 底层reactor将netty解析好的request封装成request,response交给此类处理。这是最原始的处理请求的接口,最接近底层netty的。public interface HttpHandler { Mono<Void> handle(ServerHttpRequest request,...

springboot 如何正确配置springmvc

springboot 如何正确配置springmvc​​ 虽然Springboot是开箱即用的,使用Springmvc也是十分简单,但是如何配置才是最好的呢?,看到很多人多它的用法不了解,本文讲一下它的用法。将它之前,我们先了解下什么是Springmvc。​ Springmvc是基于servlet体系的开发框架,他由DispatcherServlet拦截请求,根据请求路径使用handlerMapper查找到能执行请求的handler,再由handlerAdapter执行h...

springSecurity配置jwt

springSecurity配置jwt​ 在分布式项目下,同一个项目后端可能部署多次,通过负载均衡分配到每个实例上,传统的Session是每个实例独有的,在一个实例上登陆后,其他实例并不知道登录状态。要想解决此问题,有以下几种办法,下面进行分析。前端部分​ 首先前端能存储数据的方式有两种,一种是前端通过localstorage主动存储数据,在发送请求时主动携带。另一种是后端将数据放入Cookie中,前端发起请求时浏览器自动携带。对于后端来说,这两种方式并没有本质上的区别...

springBootActuator的使用

springBootActuator的使用 启用actuator功能 配置可视化界面 实现原理源码分析 客户端原理 总结 服务端原理 spring-boot-admin-server-ui spring-bo...

springCloud-openFeign使用原理

springCloud-openFeign使用原理​ 本文讲解spring-cloud环境下的openFeign的用法,探究spring-cloud是如何让openfeign开箱即用的。本文会假设读者已经熟练使用openfeign,对openFeign源码已有了解。 springCloud-openFeign使用原理 1.先让项目运行起来 总结 2.自动装配 ...

SpringBoot @EventListener注解的原理和使用

SpringBoot @EventListener注解的原理和使用1.观察者模式/监听者模式​ 这个模式大家应该很熟悉,也经常被使用。但是如果我们使用的是Spring框架,其实它内置了一个好用的观察者模式的实现,用法也很简单。2.用法示例​ 下面的代码,首先在类里自动注入了ApplicationEventPublisher,这个也就是我们的ApplicationCOntext,它实现了这个接口。再在post方法里,发送一条消息,这个消息其实就是一个类的实力。这样这条消...

maven依赖的作用域

maven依赖的作用域maven下面五种作用域,除去system外,其他四种的作用在下面讲解。​​ 配置的方式 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.7...