自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Dubbo——全局异常拦截

经常对web接口进行全局异常拦截,那Dubbo的RPC调用是否有异常拦截呢?我们如何自定义RPC调用的异常拦截?

2022-10-31 22:20:42 1378

原创 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

原创 Java——FutureTask原理

通过源码分析Java中Future的实现FutureTask是如何阻塞线程获取异步任务执行结果的呢?

2022-09-27 21:03:32 386

原创 Redisson——RFuture设计

Redisson中RFuture设计原理,结合CompletableFuture和Netty的Future\Promise机制,实现异步多线程和对Redis通讯封装

2022-09-26 22:47:02 1954

原创 Redisson——浅析分布式锁之解锁

通过解读和分析Redisson中解锁方法源码,说明Redisson在解锁时是如何解决解错锁问题的。

2022-09-21 21:06:39 837

原创 Redisson——浅析分布式锁之加锁

分布式锁最常用的框架Redisson加锁源码分析,从竞争锁、订阅解锁信息、间隔自旋分析,通过对源码的分析对Redisson加锁有个整体的认识

2022-09-20 23:15:00 971 1

原创 Java——本地文件监听

基于INotify机制实现的本地文件监听,根据Nacos文件寻址机制中对文件监听的实现,可运用到像DevOps中间件中

2022-09-14 23:22:39 968

原创 Java——全局线程池

在项目开发中,经常需要用到线程池,这里实现一种带有生命周期的全局线程池,可以在应用正常关闭时优雅地关闭线程池

2022-09-12 16:14:58 2975

原创 Nacos——寻址机制

Nacos集群中的节点是如何感知对方的存在及上下线的呢?带你走进Nacos的寻址机制,看是如何通过文件寻址的?

2022-09-10 16:26:47 863

原创 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

原创 Nacos——服务订阅

Nacos的服务订阅源码分析,结合Spring Cloud Gateway的服务化路由讲解Nacos的服务订阅

2022-09-01 22:46:14 4013

原创 Nacos——服务注册和心跳机制

Nacos服务注册和心跳机制源码分析

2022-08-28 23:37:20 1350

原创 设计模式——职责链模式

职责链模式应用场景,Spring中的过滤器源码分析,在其他框架中职责链模式的实现

2022-08-24 22:57:40 268

原创 Dubbo——集群容错解析

Dubbo集群容错源码分析,及使用场景

2022-08-21 16:33:39 301

原创 Dubbo——负载均衡算法解析

Dubbo负载均衡算法解析,各负载均衡算法应用场景...

2022-08-14 23:11:27 337

原创 设计模式——观察者模式

观察者模式的使用场景,Spring及其他框架中观察者模式使用

2022-08-05 23:31:23 274

原创 跨域问题

当公司采用前后端分离开发时,避免不了遇到跨域问题。跨域具体是为了同源策略的安全考虑,但现在开发肯定会遇到跨域的问题,比如不同主机之间前端调后端接口。我遇到的实际问题是同一台机,不同端口之间调用。跨域的解决方法有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关注的人

提示
确定要删除当前文章?
取消 删除