- 博客(35)
- 收藏
- 关注
原创 RestTemplate——解决Date类型值自动转为时间戳问题
在中设置jackson时间格式是全局解决该问题的方法,但是要RestTemplate初始化正确,也就是使用到了当前的MappingJackson2HttpMessageConverter,而不是重新初始化。欢迎同频共振的那一部分人作者公众号:Tarzan写bug淘宝店:提供一元解决Java问题和其他方面的解决方案,欢迎咨询。
2023-09-05 22:02:21
1166
原创 WebSocket中间件实现
当集成`spring-boot-starter-websocket`来做websocket逻辑时,我们需要考虑会话存储,单域名多节点服务时,如何找到建立连接的会话上进行通讯等问题。对此,这里对`spring-boot-starter-websocket`进行封装,在原来的基础上增加连接鉴权、会话存储、多节点下如何通知原来连接上的节点进行通讯。这里主要讲思路,代码实现因为时间问题有待完善。
2023-02-20 23:15:27
594
原创 分布式事务——dubbo集成seata示例
在分布式事务框架选型中,seata一定会出现在评估范围内,这里通过dubbo项目集成seata tcc事务模式来体验seata的分布式事务。
2022-12-11 22:54:15
1767
原创 分布式事务——hmily SPI机制源码分析
事务日志存储支持、、、等,支持、、等主流RPC框架,而这种插件式设计是通过实现的。接下来通过源码分析下。使用示例:在选择分布式事务模式的时候,有和两种实现在中使用到了如下的方法来通过获取接口实现1. ExtensionLoaderFactory.load(Class service): 加载对应interface class的扩展类:获取第一个扩展类:根据class创建实例整体流程图:跟主要的区别是通过名称从缓存中获取ExtensionEntity这样就实现了根据指定名称获取实现类了。
2022-12-06 22:07:55
319
原创 分布式事务——hmily主流程源码分析
以上一篇为例,RPC框架为,分布式事务模式,进行hmily分布式事务主流程源码分析。hmily版本项目maven依赖:2. 主流程图2. 注解切面逻辑hmily分布式事务的主体流程主要在中中根据SPI机制获取实现类,调用实现类中的获取,做为参数传入处理类。在中的实现类为,从RPC上下文中获取参数作用是构建:选择 \ 处理类处理模式处理类这里只分析事务发起者处理类和事务参与者处理类步骤::更新事务状态:执行全局confirm()这里根据参与者的角色,如果是,则使用反射调用本地方法
2022-12-05 21:48:30
598
原创 分布式事务——Dubbo集成hmily使用
在servicecomb pack走不通后,转向了hmily,Dubbo集成分布式事务hmily使用示例,解决集成过程中遇到的问题,以及使用体验
2022-11-28 22:56:59
678
原创 MySQL——强制索引优化背后的学习
通过一次项目中的SQL优化,学习到了如何查看查询优化器的执行过程,根据执行过程得出查询优化器是根据代价最小选择表的执行顺序及索引
2022-11-20 16:14:21
359
原创 分布式事务——Saga实现思路
在微服务的世界里,分布式事务一直是躲不开的问题。这里提供一种基于Saga理论的分布式事务实现思路,解决长活事务长时间阻塞问题
2022-11-08 22:34:24
1521
原创 Java——ApplicationContext辅助类
还在为了获取Spring容器的Bean而实现ApplicationContextAware而写工具类吗?这里提供一种辅助类实现
2022-10-24 22:12:56
540
3
原创 SpringCloud Gateway——谓词GatewayPredicate
SpringCloud Gateway谓词是用来判断是否属于该路由的,那谓词的实现原理是怎样的呢?AndAsyncPredicate链表实现?
2022-10-16 17:04:30
1040
原创 SpringCloud Gateway——路由过滤器GatewayFilter
SpringCloud Gateway中的路由过滤器GatewayFilter的实现原理,GatewayFilterFactory是如何生成GatewayFilter的?
2022-10-14 20:54:57
1756
原创 SpringCloud Gateway——限流原理分析
SpringCloud Gateway中的限流功能是如何实现的呢?redis令牌桶限流算法实现逻辑源码分析
2022-10-13 23:13:52
695
原创 SpringCloud Gateway——服务化路由
SpringCloud Gateway结合注册中心框架是怎样实现服务化路由的呢?又是怎样实时监听服务实例的上下线?
2022-10-10 21:19:54
787
原创 SpringCloud Gateway——请求转发源码分析
SpringCloud Gateway是如何实现将请求转发给服务的,这里将用源码具体分析SpringCloud Gateway的请求转发
2022-10-09 17:11:20
1802
原创 Java——CompletableFuture原理
CompletableFuture是Future的功能增强实现,不用阻塞主线程即可操作后续异步任务,其中的原理是怎样的呢?
2022-10-07 23:09:35
1032
原创 Redisson——RFuture设计
Redisson中RFuture设计原理,结合CompletableFuture和Netty的Future\Promise机制,实现异步多线程和对Redis通讯封装
2022-09-26 22:47:02
1954
原创 Redisson——浅析分布式锁之加锁
分布式锁最常用的框架Redisson加锁源码分析,从竞争锁、订阅解锁信息、间隔自旋分析,通过对源码的分析对Redisson加锁有个整体的认识
2022-09-20 23:15:00
971
1
原创 Nacos——Distro一致性协议(架构篇)
Nacos同时运行了AP和CP两种一致性协议,为什么在服务发现场景选择AP原则?自研的Distro协议整体架构流程,有什么特点?
2022-09-09 08:30:33
426
原创 Nacos——Distro一致性协议
Nacos自研Distro一致性协议源码分析,从同步全量数据、同步增量数据、心跳检测、服务订阅等方面分析非持久化实例的数据一致性
2022-09-07 23:05:08
931
2
原创 跨域问题
当公司采用前后端分离开发时,避免不了遇到跨域问题。跨域具体是为了同源策略的安全考虑,但现在开发肯定会遇到跨域的问题,比如不同主机之间前端调后端接口。我遇到的实际问题是同一台机,不同端口之间调用。跨域的解决方法有jsonp和cors方法,但jsonp这种方法约束多,所以我用的是cors方法。先在项目中创建个类package com.rao.taiimport java.io.IOException;...
2018-03-19 22:33:51
211
原创 TortoiseGit的安装和基本使用
上一篇已经安装了Git,是不是在实际项目使用中不是很好用呢?因为不管是提交代码还是其他操作基本都是用命令行。这里推荐使用TortoiseGit,在实际项目中比较常用,但它只是个程序壳,必须依赖与上一篇所下载的Git TortoiseGit的下载安装1、下载https://tortoisegit.org/download/下载安装包和语言包 2、安装程序包 点击下载的程序包 3、选择默认...
2018-03-14 20:19:19
397
原创 git的安装与常用命令
git的安装git官网下载:https://git-scm.com/downloads有Mac OS X、Windows、Linux/Unix本文章分享的是Windows下安装git环境:Window7系统 Git-2.16.2-64-bit安装包1、从官网上下载完后是Git-2.16.2-64-bit.exe文件,双击这个文件。显示介绍信息,点击Next按钮继续2、选择安装目录,这里默...
2018-03-08 21:07:23
273
原创 怎样设计良好的数据库
怎样设计数据库本篇文章是针对如何设计数据库进行总结的一些步骤,至于后面数据库更高级的设计暂未探索。有时候后端程序员可能会被安排一些数据库设计的任务,这时是不是觉得很没有头绪,没有步骤可以参考呢。现在边总结边用一个小实例描述。 先描述实例需求是:用户能查找当前空闲教室和课程表1、了解需求,画出名词 由上面需求可以知道有用户、教室,以及课程表三个名词2、名词作为实体,标识出每个实体的属性 这里...
2018-03-01 21:06:45
620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人