- 博客(4)
- 资源 (13)
- 收藏
- 关注
原创 shiro中获取当前user出错
准确场景描述应该是: 1、在应用层使用“线程池等会缓存线程的组件”,比如Executors.newFixedThreadPool(n);在线程里进行 getUser(); 2、可能A用户获取到B用户。 下面分析一下原理: 顺着shiro源码去找,获取当前用户方法SecurityUtils.getSubject();/*ThreadContext线程上下文环境,主要靠InheritableT
2017-04-26 18:07:26 8264
原创 rocketmq源码简析之namesrc模块
先看一下官网一张清晰的架构图: nameserver作为替换早期版本zookeeper的轻量级实现,它只实现了zk的一致性+发布订阅,当然实现方式是不一样的。它的一致性是通过每个节点的Broker、Consumer、Producer定时心跳同步的,存在短暂的不一致性,可以说是弱一致性,不会有影响,因为有柔性事务保证重试机制。发布订阅跟zk就差不多了,Broker会与每一台nameserver
2017-04-25 17:21:05 1420
原创 sharding-jdbc源码阅读之soft transaction
先看一段作者张亮,对sharding-jdbc分布式事务理解: 张亮:分布式事务这块,我们认为XA多阶段提交的方式,虽然对分布式数据的完整性有比较好的保障,但会极大的降影响应用性能,并未考虑采用。我们采用的是两种方式,一种称之为弱XA,另一种是柔性事务,即BASE。 弱XA就是分库之后的数据库各自负责自己事务的提交和回滚,没有统一的调度器集中处理。这样做的好处是天然就支持,对性能也
2017-04-20 15:15:55 2672 1
原创 sharding-jdbc源码阅读之Adapter
15年做搜索的时候,业务那边对一些大的mysql表做了分表,记得好像是video表,给了我一个公式:vid%16。好在搜索业务对mysql表只是读取操作,改动还是比较简单,我在原来的读取类上,做了一层wrapper,在between 1 to 5000的情况下,计算该去哪张表读取。后面出来面试,也被问到分库分表这种概念,但手动去做,总是很坑。于是去了解了一下这一块的开源项目:**jdbc版:阿里的
2017-04-19 19:44:20 1686
JAVA SOCKET 在线聊天系统雏形
2011-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人