- 博客(24)
- 收藏
- 关注
原创 SpringCloud gateway原理分析
SpringCloud gateway原理分析前置说明使用说明原理介绍配置的加载路由的获取流程的执行总结前置说明本文源码基于 springcloud Finchley 版本. 以下分析仅代表个人的理解, 如有错误, 欢迎探讨.使用说明以spring一贯的作风, 用户使用的模式都是约定俗成的, 也就是引入spring-cloud-starter-gateway 依赖, 然后就可以愉快的自动配置了. 但是这里有一个要说的点, springcloud gateway是只能使用在 webflux上面,
2020-07-30 17:27:20
7616
原创 SpringCloud Hystrix原理分析
10分钟弄懂 Hystrix源码前置说明hystrix中用到的rxjava方法(会的请跳过) --2分钟hystrix原理 --8分钟总结前置说明本文源码基于 hystrix1.5.18hystrix中用到的rxjava方法(会的请跳过) --2分钟首先rxjava是响应式流的编程模型, 所有的角色分为Observable(观察对象), Observer(观察者, Subscription...
2020-04-10 10:12:45
477
1
原创 SpringCloud.Honxton 版本 OpenFeign原理 下篇
SpringCloud.Honxton 版本 OpenFeign原理前置说明如何使用springcloud 和 openfeign 整合原理总结前置说明上篇介绍了openfeign的使用和原理, 那么这篇将介绍和springcloud 的整合部分. 有了上一篇的基础, 那么在分析原理的时候就简单很多了, 更多的将关注于springcloud 的整合部分.使用的依赖 <depende...
2020-03-29 17:22:33
644
原创 SpringCloud.Honxton 版本 OpenFeign原理上篇
SpringCloud.Honxton 版本 OpenFeign原理前置说明如何使用openfeign原理总结前置说明好久没写博客了, 突然想起自己的springcloud系列文章就讲了配置中心,注册中心,负载均衡和熔断。那么今天就来分析一下openfegin 的原理,后续会分析gateway的原理。我个人的习惯,在使用springcloud 的组件时,会先去用一下原生依赖的使用方法,因为在...
2020-03-20 17:05:56
821
原创 SpringCloud.Hoxton 版本, 全新熔断器CircuitBreaker
SpringCloud.Honxton 版本, 全新熔断器CircuitBreakerSpringCloud.Honxton 版本, 全新熔断器CircuitBreaker前置说明如何使用自动装配总结SpringCloud.Honxton 版本, 全新熔断器CircuitBreaker前置说明上文讲到了Honxton 版本的新的负载均衡器, 这次准备讲一下新的熔断器. 其实也不是新的熔断器,...
2019-12-30 11:29:57
3671
6
原创 SpringCloud.Hoxton 版本, 全新负载均衡器Loadbalancer
SpringCloud.Honxton 版本, 全新负载均衡器LoadbalancerSpringCloud.Honxton 版本, 全新负载均衡器Loadbalancer前置说明初步分析负载均衡器的自动装配服务列表的获取以及负载均衡的实现SpringCloud.Honxton 版本, 全新负载均衡器Loadbalancer前置说明源码分析的版本为Honxton.Release. 为什么选这...
2019-12-09 17:00:33
4964
5
原创 SpringCloud eureka 注册中心原理
SpringCloud Netflix eureka 原理分析SpringCloud Netflix eureka 原理分析前置说明SpringCloud eurekaeureka 服务端的启动springcloud ServiceRegistryspringcloud DiscoveryClient结束语SpringCloud Netflix eureka 原理分析前置说明源码来自spri...
2019-11-30 22:17:08
1009
原创 SpringCloud config 原理分析
springcloud config 原理分析前置说明springcloud config服务端加载配置客户端加载配置客户端配置刷新结尾前置说明源码来自springcloud.G版本以下说明是个人观点,如有错误,欢迎评论处进行讨论springcloud configspringcloud 提供了分布式配置中心, 支持git, svn, native(文件配置).jdbc等. 现在就spr...
2019-11-24 20:05:47
876
原创 JDK动态代理的简单实现
目录JDK动态代理的简单实现前置说明动手实现实现方式一实现方式二最后JDK动态代理的简单实现前置说明首先说明一下就是, jdk动态代理,为什么是动态,是因为其在运行时帮你生成了代理类,这里其实本质上还是生成一个静态代理类, 然后通过InvocationHandler的invoke(反射的方式)来调用真正的对象, 所以我的理解动态代理就是运行时生成+反射调用.(其实不局限于运行时生成,也可以是...
2019-08-17 17:03:51
270
原创 Java AOP的实现原理和手写实现,支持JDK动态代理,Javassist代理,Cglib代理
Java AOP的实现原理和手写实现,支持JDK动态代理和Cglib代理概述面向切面编程已经在我们的平常工作中经常会用到, 平常我们在使用的都是使用spring封装的aop模块, 使用的时候只要配置几个注解就能实现逻辑了,非常的方便. 但是使用的方便也就意味着其封装的复杂, 另外spring的aop也是有其的演进,从最早的只能通过实现接口+xml配置,到现在@Aspect的支持来实现声明式的变...
2019-07-13 17:07:10
437
原创 SpringCloud2.x 的权重路由和灰度控制,以及gateway的路由持久化
SpringCloud2.x 的权重路由和灰度控制前言在学习istio的过程中,发现istio的权重控制和灰度控制实在太好用了,虽然istio现在用在生产中还是不太成熟,但是可以吸取相关的优点来整合到现有的springcloud中.springcloud已经是个成熟的框架了,其有ribbon组件负责提供负载均衡,还有gateway组件进行路由转发,但是使用的时候还是有不方便的地方...
2019-06-30 16:44:48
7459
2
原创 Springboot Actuator的组件编写
springboot actuator的组件编写前置说明因为之前编写了redis-starter以及cache-starter, 然后最近有学习了springboot的actuator相关的知识,了解到springboot自己的spring-boot-starter-data-redis是有redis的健康状态监测的,然后spring-boot-starter-cache也有关于缓存命中的相关...
2019-05-18 13:37:39
455
原创 Spring Cloud Nacos 作为注册和配置中心 + Spring Cloud Gateway作为网关 + Sentinel 作为熔断服务
依赖因为要整合gateway所以(版本的选择为spring官方的推荐搭配)springcloud 的版本选择 Finchley.SR2springboot 的版本选择 2.0.6.RELEASE这里nacos的starter选择用以下版本<nacos.version>0.2.1.RELEASE</nacos.version> NACOS启...
2019-02-15 22:25:00
35365
13
原创 springboot中使用redis实现异步消息通知
为什么我要用redis来完成异步消息,而不是消息队列mq之类的?因为很多的单体项目可能只需要需要一个略微简单的消息通知,而不需要如kafka那种完善的消息队列, 而且redis在正常的项目中基本都会引入而mq可能较少会引入,所以使用redis来实现消息通知可以减少不必要的中间件引入和维护. 设计思路的来源主要借鉴了spring对jms的封装,比如使用注解@JmsListener来完...
2018-11-10 21:40:05
4275
1
原创 springboot+quartz 实现任务的动态部署和持久化
项目搭建主要集成springboot+quartz+mysql因为springboot搭建比较简单添加@EnableScheduling注解即可,其他的按照quartz和spring的正常整合即可。另外quartz本身支持持久化和集群部署,需要配置相应的文件和建立官方指定数据库表(具体参考https://blog.youkuaiyun.com/u012768459/article/details/...
2018-10-14 22:43:21
1746
原创 搭建springboot自动配置,基于自己的RedisUtil
1.创建项目如下 2.加入一下pom依赖//这个是之前的博客例子,对jedis连接操作的简单分装<dependency> <groupId>com.cdy</groupId> <artifactId>common-util</artifactId> <version>1.0-SNAP...
2018-08-19 13:26:18
1919
原创 静态资源配置解析从Servlet到springmvc到springboot的源码理解
Servlet 静态资源配置原理最早的servlet使用servlet容器提供defaultServlet来处理静态资源<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern></se...
2018-07-28 10:21:21
1763
原创 jdbc的事务自动提交和手动提交,以及mybatis开启自动提交后是否会复用一个连接的验证
jdbc的sql执行默认是自动提交事务默认时自动提交,当我手动提交时会报错,不过数据还是会插入到数据库中,因为执行完executeupdate后数据库会自动commit 开启手动提交手动提交则需要手动调用commit才能提交事务 mybatis未开启自动提交事务手动提交两次,当然数据库是提交一条才能看到一条,另外可以看到connect是使用的同一个...
2018-07-17 21:24:06
16646
原创 zuul的动态路由 + zuul简单认证
zuul的动态路由主要继承以下的类,重写locateRoutes方法在方法中加入自己的获取路由的方式 ,我这里是基于数据库配置写完后注册到springioc容器中,这样zuul就会从数据库中获取路由的配置信息,手动刷新的需要调用zuul内部的事件通知机制来让zuul刷新配置数据库中的路由设定请求ccc/hello 转发到了client服务的hello上调用刷新方法,会直接刷新配置zuul简单认证首...
2018-07-08 16:45:18
8150
1
原创 springcloud + zookeeper
上次搭建了一个比较简单的springcloud脚手架,是使用eureka作为脚手架,但是最近发现eureka2.0之后不开源,也就是springcloud之后的版本可能不会使用eureka作为注册中心,而且继续使用eureka2.0后的版本是有版权问题的,所以今天花了几个小时重新搭建了一个由zookeeper作为注册中心的springcloud脚手架,其结构如下因为注册中心换成zookeeper,...
2018-06-30 15:54:42
10349
原创 springcloud 简单的脚手架
搭建完成后的结构搭建过程如下首先搭建父工程,用于jar包的版本管理然后然后搭建注册中心,用于服务注册和发现其次是搭建配置中心,用于统一管管理某些配置最后放上两个服务提供者的demo父工程没什么东西主要是maven是pom类型,然后将版本管理好然后是服务注册,也是比较好搭建的,首先要引入服务最主要的包配置文件主要如下最后别忘了加上注解然后启动打开地址就可以看到注册中心了接下来就是配置中心了,其主要的...
2018-06-18 17:58:32
5372
原创 redis 主从配置(哨兵监控) 以及redis工具类编写
环境搭建我是在win10下搭建的,1主2从,2个哨兵master中增加或修改的配置port 6000requirepass 123456slave1中增加或修改的配置port 6001slaveof 127.0.0.1 6000masterauth 123456requirepass 123456slave2中增加或修改的配置port 6002slaveof 127.0.0.1 6000mast...
2018-06-09 16:10:48
919
原创 实践 springboot 多数据源
搭建环境本次实验的环境搭建 需要3个mysql,来完成1主2从的主从复制我花了3个小时尝试搭建mysql,最后发现主从复制失败,后来找到了下面这篇博客,用docker搭建,只用了10分钟就完成了https://blog.youkuaiyun.com/sunlihuo/article/details/54018843创建项目我使用springboot来快速搭建环境orm使用的是spring-jdbc数据源的配置...
2018-06-03 12:39:18
245
原创 单点登录
单点登录{#dddl}项目分为三个模块{#mk}server提供的接口{#sapi}client提供的接口{#capi}登录流程介绍{#login}退出流程{#logout}单点登录项目分为三个模块serverclient2client1server提供的接口/user/tologin/login/logoutclient提供的接口/user登录流程介绍用户从浏览器发出/us...
2018-05-20 20:03:30
428
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人