随笔分类 -  编程

摘要:断网重连 半包读写 异常处理 水平触发(条件触发) Level-Triggered: 只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你) 边缘触发(边沿触发) Edge-Triggered: 每当状态变化时,触发一个事件。 SO_BACKLOG SO_REUSEADDR SO_L 阅读全文
posted @ 2021-01-16 22:56 Casaa 阅读(100) 评论(0) 推荐(0)
摘要:网络IO模型 NIO,AIO 都由操作系统提供,应用程序通过调用不同的系统调用来决定使用 NIO 还是 AIO。 Blocking IO 系统调用 创建 监听socket,得到 FD 调用 bind 将 监听socket 和 port 绑定 调用 listen 开始监听 调用 accept 阻塞等待 阅读全文
posted @ 2020-12-06 22:46 Casaa 阅读(122) 评论(0) 推荐(0)
摘要:超卖 预扣库存 提前把商品的库存加载到 Redis 中 恶意请求 Nginx 恶意请求拦截 链接暴露 URL 加盐 数据库 微服务的设计思想,服务单一职责,然后分布式部署。 拆分订单服务、用户服务、账户服务、秒杀服务单独数据库,秒杀库崩了也不会影响其它服务 秒杀服务实例可以动态扩容 缓存系统 缓存穿 阅读全文
posted @ 2020-11-30 08:33 Casaa 阅读(123) 评论(0) 推荐(0)
摘要:1 背景 周一回来发现用户中心批量更新手机号未生效,上 Nexus 看了下有没有人动了 lib datasource(基础架构组的一个组件,简化连接池装配),最新一个版本在上周四,该版本解决了 AutoCommit 的问题,详见参考1。 2 排查过程 1. 打断点,确认手机号在批量插入前已经脱敏。 阅读全文
posted @ 2020-03-30 20:51 Casaa 阅读(345) 评论(0) 推荐(0)
摘要:1 背景 运营活动中,有场景针对新用户发营销,老用户不能参与活动,很自然会将老用户放入一个布隆过滤器的“黑名单”。但布隆过滤器存在假阳性的问题,虽然机率很低,但根据墨菲定律,只要量够大就必定出现。亟需一个方案用最小的成本(时间、空间)应对假阳性。 2 解决方案 训练两个布隆过滤器: 1. 白名单过滤 阅读全文
posted @ 2020-03-30 10:28 Casaa 阅读(181) 评论(0) 推荐(0)
摘要:1 背景 合规要求将数据库中的敏感用户信息脱敏,账号中心和账户中心的数据库都有明文手机号。 2 解决思路 分两部分看,存量数据和增量数据,其中增量数据要先处理。 增量数据,可以通过 Getter、Setter 来实现加解密。另外 Dao(Repository)可能包含 findByPhone 的查询 阅读全文
posted @ 2020-03-26 10:45 Casaa 阅读(1462) 评论(0) 推荐(0)
摘要:背景 用户账号中心之前将手机号以明文方式存MySql,合规要求整改,要将数据库中的手机号脱敏。但加密过后的密文长度为65,数据库字段的长度为11,因此要 Modify 为 varchar(100)。但这个表的数据量不小,开发环境都有一千万条记录,贸然扩容肯定会引起生产环境长时间锁表,绝对不可取。 解 阅读全文
posted @ 2020-03-24 17:14 Casaa 阅读(366) 评论(0) 推荐(0)
摘要:快速找出配置文件 比如pwd在Tomcat目录根目录下,想修改index.ftl: du a | grep index.ftl 即可得到 index.ftl 的绝对路径,vi 编辑之即可 修改jar里的某个配置文件 比如有个项目对应 gateway.jar,想修改里面的 application.ym 阅读全文
posted @ 2020-03-24 14:50 Casaa 阅读(146) 评论(0) 推荐(0)
摘要:1 问题描述 开发环境发版平台报 Too many open files,重启后恢复正常。 同事第一时间想到 ESTABLISHED 和 TIME WAIT 的 TCP,建议从 netstat 入手。 但发版平台只是个管理系统,没有这么大的量,于是从 lsof 层面看看文件句柄。 2 os限制了打开 阅读全文
posted @ 2020-03-04 18:40 Casaa 阅读(441) 评论(0) 推荐(0)
摘要:一、问题描述 已知一个二叉树前序遍历为:ABDEGCFH,中序遍历为:DBGEACHF,则该二叉树的后序遍历为? 后续遍历: D G E B H F C A 二、3种遍历方式 前序遍历 Degree Left Right, DLR 先输出根节点,然后遍历左子树,最后遍历右子树。特点是根节点在首位。 阅读全文
posted @ 2020-02-27 17:40 Casaa 阅读(218) 评论(0) 推荐(0)
摘要:关闭安装认证, 开启tcp 端口 sudo vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd insecure registry regdev.harbor.com H tcp://0.0.0.0:2375 H 阅读全文
posted @ 2020-02-27 10:53 Casaa 阅读(272) 评论(0) 推荐(0)