会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
节
春
度
欢
十年磨一剑
博客园
首页
新随笔
联系
管理
上一页
1
2
3
4
5
6
7
8
···
11
下一页
2019年9月28日
【设计模式】观察者模式
摘要: 一、简介 观察者模式(发布/订阅模式),定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 有很多项目都用到了该设计模式,比如Spring的事件机制、消息队列等。 Java提供了两个接口java.util.Observable和java.util.Obs
阅读全文
posted @ 2019-09-28 11:01 烟味i
阅读(334)
评论(0)
推荐(0)
2019年9月21日
【分布式锁】Redis实现可重入的分布式锁
摘要: 一、前言 之前写的一篇文章《细说分布式锁》介绍了分布式锁的三种实现方式,但是Redis实现分布式锁关于Lua脚本实现、自定义分布式锁注解以及需要注意的问题都没描述。本文就是详细说明如何利用Redis实现重入的分布式锁。 二、方案 死锁问题 当一个客户端获取锁成功之后,假如它崩溃了导致它再也无法和 R
阅读全文
posted @ 2019-09-21 16:07 烟味i
阅读(8983)
评论(7)
推荐(1)
2019年9月7日
【设计模式】责任链模式
摘要: 一、前言 责任链模式很多框架都有用到,其中一个经典场景就是Tomcat对HTTP请求的处理。 Tomcat处理HTTP请求时就会处理请求头和请求体两部分,当然,Tomcat的真正实现会将HTTP请求切分成更细的部分进行处理。如果请求各部分的逻辑都在一个类中实现,这个类会非常臃肿。如果请求通过增加新字
阅读全文
posted @ 2019-09-07 20:28 烟味i
阅读(508)
评论(0)
推荐(0)
2019年8月31日
HystrixRequestContext实现Request级别的上下文
摘要: 一、简介 在微服务架构中,我们会有这样的需求,A服务调用B服务,B服务调用C服务,ABC服务都需要用到当前用户上下文信息(userId、orgId等),那么如何实现呢? 方案一: 拦截器加上ThreadLocal实现,但是如果在这次请求中创建了一个新的线程就拿不到了,也就是无法跨线程传递数据。 方案
阅读全文
posted @ 2019-08-31 22:03 烟味i
阅读(3327)
评论(4)
推荐(1)
2019年8月26日
漫谈JSON Web Token(JWT)
摘要: 一、背景 传统的单体应用基于cookie-session的身份验证流程一般是这样的: 用户向服务器发送账户和密码。 服务器验证账号密码成功后,相关数据(用户角色、登录时间等)都保存到当前会话中。 服务器会生成一个sessionid返回浏览器,浏览器把这个sessionid存储到cookie当中。 以
阅读全文
posted @ 2019-08-26 16:48 烟味i
阅读(354)
评论(1)
推荐(0)
2019年7月10日
Mybatis利用Intercepter实现物理分页
摘要: 一、Interceptor介绍 Mybatis 允许用户使用自定义拦截器对SQL语句执行过程中的某一点进行拦截。默认情况,可以拦截的方法如下: Executor 中的 update()、query()、flushStatement()、commit()、rollback()、getTransacti
阅读全文
posted @ 2019-07-10 21:46 烟味i
阅读(632)
评论(2)
推荐(0)
2019年6月23日
【源码系列】Eureka源码分析
摘要: 对于服务注册中心、服务提供者、服务消费者这个三个主要元素来说,服务提供者和服务消费者(即Eureka客户端)在整个运行机制中是大部分通信行为的主动发起者(服务注册、续约、下线等),而注册中心主要是处理请求的接收者。所以,我们从Eureka的客户端为入口分析它是如何完成这些主动通信的。 一般情况下,我
阅读全文
posted @ 2019-06-23 11:55 烟味i
阅读(333)
评论(0)
推荐(0)
2019年6月2日
Spring@Import注解的三种用法
摘要: 参考:https://www.jianshu.com/p/7eb0c2b214a7
阅读全文
posted @ 2019-06-02 18:04 烟味i
阅读(276)
评论(0)
推荐(0)
2019年6月1日
Spring事件机制详解
摘要: 一、前言 说来惭愧,对应Spring事件机制之前只知道实现 ApplicationListener 接口,就可以基于Spring自带的事件做一些事情(如ContextRefreshedEvent),但是最近看公司的wiki基于Spring事件的领域驱动才发现原来还有这么多东西。 二、订阅/发布(观察
阅读全文
posted @ 2019-06-01 01:14 烟味i
阅读(4513)
评论(5)
推荐(3)
2019年5月24日
【Netty】利用Netty实现心跳检测和重连机制
摘要: 一、前言 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。 我们用到的很多框架都用到了心跳检测,比如服务注册到 Eureka Server 之后会维护一个心跳连接,告诉 Eureka Server 自己还活着。本文就是利用 Netty 来实现心跳检测,
阅读全文
posted @ 2019-05-24 13:37 烟味i
阅读(2771)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
11
下一页
公告