
内功心法
文章平均质量分 84
各种算法、设计模式等理论性的
demon7552003
这个作者很懒,什么都没留下…
展开
-
设计模式之禅笔记
设计模式之禅的读书笔记原创 2022-10-23 08:39:33 · 774 阅读 · 0 评论 -
JWT
目录1. JSON Web Token是什么2. 什么时候你应该用JSON Web Token3. JSON Web Token的结构是什么样的HeaderPayloadSignature4. JSON Web Tokens是如何工作的5. 基于Token的身份认证 与 基于服务器的身份认证5.1 基于服务器的身份认证5.2. JWT与Session的差异5.3. 基于Token的身份认证是如何工作的5.4. 用Token的好处5.5. JWT与O..转载 2020-08-07 08:15:21 · 178 阅读 · 0 评论 -
OAuth2(一)——核心概念
OAuth 2.0 是什么OAuth 2.0 是一个授权协议,它允许软件应用代表(而不是充当)资源拥有者去访问资源拥有者的资源。应用向资源拥有者请求授权,然后取得令牌(token),并用它来访问资源。这一切都不需要应用去充当资源拥有者的身份,因为令牌明确表示了被授予的访问权。作为一个授权框架,OAuth 关注的是如何让一个系统组件获取对另一个系统组件的访问权限。在OAuth 的世界中,最常见的情形是客户端应用代表资源拥有者(通常是最终用户)访问受保护资源。需要关心如下组件。资源拥有者有权访问AP原创 2020-07-18 08:44:29 · 421 阅读 · 0 评论 -
限流算法
关于限流算法,一般常见的有下面四种:固定窗口(计数器法) 滑动窗口 令牌桶算法(谷歌的开源guava有实现) 漏桶算法固定窗口(计数器法)固定窗口是限流算法里最简单也是最容易实现的一种算法。假设我们规定接口A的qps是100, 即每分钟的访问次数不能超过100。那么我们可以这么做:在一开始的时候,我们可以设置一个计数器counter,初始化为0, 过期时间为1秒,即1秒后计数器失效。每当一个请求过来的时候,counter值加1,判断当前counter的值是否大于100,如果大于100则说明请原创 2020-05-21 22:34:52 · 641 阅读 · 0 评论 -
HTTP
Web及网络基础WWW构建技术HTML:文本标记 HTTP:文本传递 URL:资源定位网络基础TCP/IPTCP/IP协议族TCP/IP的分层管理与HTTP关系密切的协议IPIP(internet protocol)位于网络层,用于传输数据包。涉及到IP 地址和MAC 地址(Media Access Control Address),使用ARP协议(Address Resolution Protocol)凭借MAC进行通信,ARP可以通过IP地址得到MAC地址。TC原创 2020-08-12 20:25:47 · 203 阅读 · 0 评论 -
架构师知识地图
原创 2019-07-04 22:14:30 · 555 阅读 · 0 评论 -
分布式事务--一致性协议
一致性模型一致性(Consistency)是指多副本(Replications)问题中的数据一致性。关于分布式系统的一致性模型有以下几种:强一致性当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值,直到这个数据被其他数据更新为止。但是这种实现对性能影响较大,因为这意味着,只要上次的操作没有处理完,就不能让用户读取数据。弱一致性系统并不保证进程或者线程的......原创 2019-01-26 19:52:04 · 10904 阅读 · 0 评论 -
23种设计模式全解析
目录一、设计模式的分类二、设计模式的六大原则总原则:开闭原则(Open Close Principle)1、单一职责原则2、里氏替换原则(Liskov Substitution Principle)3、依赖倒转原则(Dependence Inversion Principle)4、接口隔离原则(Interface Segregation Principle)5...原创 2019-01-05 15:03:54 · 562 阅读 · 0 评论 -
一致性哈希算法的原理与实现
分布式系统中对象与节点的映射关系,传统方案是使用对象的哈希值,对节点个数取模,再映射到相应编号的节点,这种方案在节点个数变动时,绝大多数对象的映射关系会失效而需要迁移;而一致性哈希算法中,当节点个数变动时,映射关系失效的对象非常少,迁移成本也非常小。本文总结了一致性哈希的算法原理和Java实现,并列举了其应用。作者:王克锋出处:https://kefeng.wang/2018/08/10/c...转载 2019-07-27 08:00:33 · 506 阅读 · 0 评论 -
Treiber Stack简单分析
AbstractTreiber Stack Algorithm是一个可扩展的无锁栈,利用细粒度的并发原语CAS来实现的,Treiber Stack在 R. Kent Treiber在1986年的论文Systems Programming: Coping with Parallelism中首次出现。基本原理该算法的基本原理是:只有当您知道要添加的项目是自开始操作以来唯一添加的项目时,才会...转载 2019-06-15 07:36:40 · 514 阅读 · 0 评论 -
时间轮算法解析(Netty HashedWheelTimer源码解读)
1、背景时间轮算法可以用于高效的执行大量的定时任务。在Netty中的一个典型应用场景是判断某个连接是否idle,如果idle(如客户端由于网络原因导致到服务器的心跳无法送达),则服务器会主动断开连接,释放资源。得益于Netty NIO的优异性能,基于Netty开发的服务器可以维持大量的长连接,单台8核16G的云主机可以同时维持几十万长连接,及时掐掉不活跃的连接就显得尤其重要。2、算法简...转载 2019-06-15 07:21:43 · 1201 阅读 · 0 评论 -
TimingWheel 时间轮详解
在kafka中,有许多请求并不是立即返回,而且处理完一些异步操作或者等待某些条件达成后才返回,这些请求一般都会带有timeout参数,表示如果timeout时间后服务端还不满足返回的条件,就判定此次请求为超时,这时候kafka同样要返回超时的响应给客户端,这样客户端才知道此次请求超时了。比如ack=-1的producer请求,就需要等待所有的isr备份完成了才可以返回给客户端,或者到达timeou...转载 2019-06-15 07:17:56 · 597 阅读 · 0 评论