Linux中断原理 引入什么是中断? 为什么需要中断? 中断是操作系统中一种重要的机制,可以让处理器中断当前的执行程序,转向另外一个特定的程序,并在处理完成后返回当前执行程序。 123while(true){ dosomething();} 如果没有中断,处理器只能完全处理完一个任务后,才能处理下一个任务,无法实现任务切换和多任务并发(我如果键盘按下一个按钮,系统可能很久后才能反应) 中断根据实 2024-04-12 计算机基础 > 操作系统 #操作系统 #linux
从FD到socketFD再到epoll原理 FDfd 是什么?fd 是 File descriptor 的缩写,中文名叫做:文件描述符。文件描述符是一个非负整数,本质上是一个进程相关的索引值 什么时候拿到的 fd ? 当打开一个文件时,内核向进程返回一个文件描述符( open 系统调用得到 ),后续 read、write 这个文件时,则只需要用这个文件描述符来标识该文件,将其作为参数传入 read、write 。 fd 的值范围是什么? 在 2024-04-09 计算机基础 #文章精读 #计算机网络 #操作系统
常见加密算法 GPT摘要 文章主要介绍了非可逆加密算法和可逆加密算法的原理和应用。在非可逆加密算法部分,介绍了MD5和SHA系列算法,以及它们在密码保存、文件完整性校验等方面的应用。同时提到了MAC和HMAC-SHA-256在确认消息完整性和身份认证中的作用。在可逆加密算法部分,介绍了凯撒密码和enigma机的原理,以及对称加密算法AES和非对称加密算法RSA的基本原理和应用场景。文章还简要讨论了密码攻击方法 2024-04-08 计算机基础 #计算机网络 #加密
考试压测及瓶颈排查 引入对整个考试系统再次进行压测,并给出排查瓶颈以及不断优化的过程 可能影响性能因素 代码(设计缓存是否命中) exam pod数量,pod的Xmx gateway 、usercenter 数量 redis mysql 索引 本地网速 最简单查看是否是瓶颈的方式:cpu利用率 压测参数 人数x=6k~10k warm-up=100s 题目延时5~195s,平均delay 2024-03-01 开发 > 后端 #后端 #java #优化 #水杉 #压测
趣学架构 https://www.bilibili.com/video/BV1pz4y1j72C 1.大学学点啥学习能力 知识多 更新换代快 时间约束 2.搭建系统先搭架子1.用户首页(用户信息、余额、消费等) 2.新需求需要添加用户修改功能;存在许多重复代码 解决方案1:添加工具类 模板方法模式统一逻辑,标准化流程 解决方案2:模板方法模式;保证必须要调用以及调用顺序;通用部分直接一起升级(l 2024-01-25 系统架构 #java #设计模式 #系统架构
高性能短链设计 原文链接:高性能短链设计 - 掘金 (juejin.cn) 介绍将长连接转为一个短连接,并且再访问时再转换回来 短链: 最终长链 可以看到,短信中的是短链,但最后变成了长链;使用短链的好处 再具有文字限制的地方(微博),用短链可以占据更少的文字 短链对应转的二维码不密集,更容易识别 跳转的基本实现:请求短链时,会返回状态码302(临时重定向:每次都使用短链请求,易于点击数统计)以及长链的 2023-12-27 项目 #文章精读 #项目 #系统架构
CPU故障排查 CPU故障排查背景在压测考试的时候,无意间看到resource、teacher-admin等微服务CPU利用率百分之百,询问相关负责同学并不了解,于是自己寻找了一下原因。 方法jstack jstack可以定位线程的执行情况,因此直接进入pod内部执行,发现并没有找到此命令,查看dockerfile打包文件发现打包时是基于jre镜像构建的,并没有jdk中的其他工具,因此需要先安装工具。此外T 2023-12-17 开发 > 后端 #后端 #java #优化 #水杉
订单超时处理 原文链接:订单超时处理的几种方案及分析-阿里云开发者社区 (aliyun.com) 介绍在电商场景下,买卖双方没有面对面交易,许多情况下需要通过超时处理自动关闭订单,如: 买家超时未付款 卖家超时未发货 买家超时自动收货 JDK自带DelayQueue处理流程 把订单插入DelayQueue中,以超时时间作为排序条件,将订单按照超时时间从小到大排序。 起一个线程不停轮询队列的头部,如果订单的 2023-12-15 系统架构 > 设计 #文章精读
考试重构-压测 11/10 ~ 11/23 重构原因 原来考试系统bug很多,redis使用也不合理,30人的考试就可能存在有人进不去考试、交不了卷的情况 原来的代码耦合性高,练习模式、考试模式可能开始考试用的不同函数、进入考试用的不同的函数,有时候改一个地方的功能影响到了另外的地方 重构基本思想 考试数据分为共享数据(题目、考试等)和个人做题数据,共享数据使用redis进行缓存,缓存时间可 2023-11-23 开发 > 后端 #后端 #java #优化 #水杉
对账体系建设 原文链接:https://tech.meituan.com/2018/03/21/balance-accounts.html 引入业务复杂性高:场景多、链路长、数据量大,给资金安全带来了巨大挑战 可能出现问题的场景: 可以看出,这些都是一些上下游交互的边界场景,以及遇到的问题。当然不仅限于这些场景,凡是有系统交互、数据交互边界的场景,都会出现此类问题,我们称之为“一致性问题”。经粗略统计,我们清 2023-11-15 系统架构 > 稳定性 #文章精读