Java系列
文章平均质量分 80
p_system
这个作者很懒,什么都没留下…
展开
-
基于Mysql的分布式锁的一种实现
背景分布式环境下,多实例执行程序,开发语言提供的锁,不能满足需要,需要选用分布式锁分布式锁主要可以利用缓存(Redis)、数据库和Zookeeper本文介绍一种利用mysql数据实现的分布式锁思考作为锁的分布式实现,需要满足以下功能 同一时刻只能有一个线程获取到锁 支持重入 支持超时获取锁 数据库实现锁需要解决的问题: 获取锁的进程或线程信息 存储 释放锁时数据的删除 当程序异常退出,需要有机制可以删除 脏数据 整体设计原创 2021-07-16 17:07:12 · 255 阅读 · 0 评论 -
ClassLoader之Class.getResource和ClassLoader.getResource
背景代码中经常需要获取项目中的静态文件,例如读取配置文件等。我们常用class.getResource或ClassLoader.getResource进行读取,但两者的参数在路径处理上些许区别class.getResource这种情况,我们用一个class来直接获取资源。会将目标资源路径根据规则进行转义,因为最终会使用ClassLoader.getResource来查找资源。当目标资源已"/"开头时,此时在classPath下进行查询,否则相对该class所在包路径为基准进行查找的,会默认将clas原创 2020-07-28 18:34:53 · 330 阅读 · 0 评论 -
RPC调用,session传递解决方案一:(Dubbo+Spring Redis Session)
背景在分布式开发成为主流之后,现在我们经常采用spring redis session作为分布式共享session的解决防范,采用Dubbo+Zookeeper作为RPC调用的解决方案;但是在RPC调用链路中获取不到HttpSession了,这就导致在一些业务场景下,加大RPC代码编写的难度例如:上图中服务1可以获取到session,但是服务2,和服务3获取不到session,如果业务中需要获取当前登录用户的信息,这时就存在问题了解决方案解决方案就是在RPC调用时,在消费端隐式传递session参原创 2020-06-01 16:09:17 · 3085 阅读 · 3 评论 -
Spring Redis Session 存储结构及获取
背景原创 2020-06-01 15:26:04 · 5736 阅读 · 0 评论