2021年12月6日

SpringBoot使用RSocket协议

摘要: 一、HTTP在微服务场景下的问题 对于SpringCloud微服务架构,每一个SpringBoot项目都是一个服务,各个服务对外暴露REST接口,通过HTTP协议彼此调用。 传统的HTTP采用的是重文本传输,传输报文分为3部分:起始行、首部、主体。 报文的第一行就是起始行,在请求报文中用来说明要做些 阅读全文

posted @ 2021-12-06 22:08 NicholasGUB 阅读(1818) 评论(0) 推荐(0) 编辑

2021年9月12日

SSO单点登录

摘要: 多集群存在RPC调用时存在的问题 在一个庞大的系统设计里面,用户的登陆将成为一个难点,不可能在用户登录到web端时实现了登录,当用户为完成某一操作调用RPC端执行的时候再进行一次RPC端的登录。 单点登录 SSO(Single Sing On、单点登录)是在多个应用系统中,用户只需要登陆一次就可以访 阅读全文

posted @ 2021-09-12 19:10 NicholasGUB 阅读(155) 评论(0) 推荐(1) 编辑

2021年7月10日

从ReentrantLock到AQS源码阅读

摘要: ReentrantLock是使用AQS实现的一种可重入的独占锁,并且提供了公平和非公平两种策略。 ReentractLock的内部类Sync继承了AbstractQueuedSynchronizer抽象类,并且提供了两个内部类FairSync和NonfairSync(即公平锁与非公平锁的落地实现), 阅读全文

posted @ 2021-07-10 11:25 NicholasGUB 阅读(41) 评论(0) 推荐(0) 编辑

2021年6月12日

LongAdder源码阅读笔记

摘要: 功能描述 LongAdder通过创建多个副本对象,解决了多线程使用CAS更新同一个对象造成的CPU阻塞,加快了对线程处理的速度。当多个线程同一时刻更新一个AtomicLong类型的变量时,只有一个线程能够更新成功,其他线程则更新失败,继续尝试更新。 当使用LongAdder类型的变量时,由于副本数组 阅读全文

posted @ 2021-06-12 17:06 NicholasGUB 阅读(135) 评论(0) 推荐(0) 编辑

2021年6月6日

ThreadLocal源码阅读笔记

摘要: 功能描述 ThreadLocal解决了访问共享变量的阻塞问题,并且不需要像CAS操作一样牺牲CPU资源,它为每一个线程维护了一个变量副本,每个线程在访问ThrealLocal里面的变量时实际上访问的是自己线程内的变量副本,并且这个线程内的变量副本与其他线程的变量副本相互隔离,互不影响。也就是说,Th 阅读全文

posted @ 2021-06-06 11:29 NicholasGUB 阅读(39) 评论(0) 推荐(0) 编辑

导航