首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
架构
订阅
沉淀
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
利用责任链模式设计一个拦截器
近期在做 Cicada 的拦截器功能,正好用到了责任链模式。 这个设计模式在日常使用中频率还是挺高的,借此机会来分析分析。 先来看看什么是责任链模式。 光看这段描述可能大家会觉得懵,简单来说就是该设计模式用于对某个对象或者请求进行一系列的处理,这些处理逻辑正好组成一个链条。 下…
分布式工具的一次小升级⏫
之前在做 秒杀架构实践 时有提到对 distributed-redis-tool 的一次小升级,但是没有细说。 这就是一个典型的对稀缺资源使用不善导致的。 这些资源都有共同的特点:创建销毁成本较高。 这里涉及到的 Redis 连接也属于该类资源。 我们希望将这些稀有资源管理起来…
分布式限流
本文接着上文应用限流进行讨论。 之前谈到的限流方案只能针对于单个 JVM 有效,也就是单机应用。而对于现在普遍的分布式应用也得有一个分布式限流的方案。 来做演示。 在 Order 应用提供的接口中采取了限流。首先是配置了限流工具的 Bean: 该注解拦截了 http 请求,会再…
设计一个百万级的消息推送系统
首先迟到的祝大家中秋快乐。 最近一周多没有更新了。其实我一直想憋一个大招,分享一些大家感兴趣的干货。 鉴于最近我个人的工作内容,于是利用这三天小长假憋了一个出来(其实是玩了两天🤣)。 先简单说下本次的主题,由于我最近做的是物联网相关的开发工作,其中就不免会遇到和设备的交互。 …
「造个轮子」——cicada(轻量级 WEB 框架)
俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围。 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式。 好了,现在着重来谈谈 cicada 这个项目的核心功能。 我把他定义为一个快速、轻量级 WEB 框架;没有过多的依赖,核心 ja…
秒杀架构实践
之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 先简单根据这个图谈下请求的流转,因为后面不管怎么改进这个都是没有变的。 前端请求进入 web 层,对应的代码就是 controller。 之后将真正的库存校验、下单等请求发往 Se…
利用策略模式优化过多 if else 代码
不出意外,这应该是年前最后一次分享,本次来一点实际开发中会用到的小技巧。 条件少还好,一旦 else if 过多这里的逻辑将会比较混乱,并很容易出错。 刚开始条件较少,也就没管那么多直接写的;现在功能多了导致每次新增一个 else 条件我都得仔细核对,生怕影响之前的逻辑。 最后…
基于 Redis 的分布式锁
分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。 首先谈到分布式锁自然也就联想到分布式应用。 在我们将应用拆分为分布式应用之前的单机系统中,对一些并发场景读取公共资源时如扣库存,卖车票之类的需求可以简单的使用同步或者是加…
「造个轮子」——cicada 源码分析
向大家介绍了 cicada 之后收到很多反馈,也有许多不错的建议。 同时在 GitHub 也收获了 80 几颗 小♥♥(绝对不是刷的。。) 也有朋友希望能出一个源码介绍,本文就目前的 v1.0.1 版本来一起分析分析。 一般在做一个新玩意之前都会有技术选型的过程,但这点在做 c…