- 博客(7)
- 收藏
- 关注
原创 《如何设计一个秒杀系统》——专栏笔记
队列缓冲方式很通用,它适用于内部上下游系统之间调用请求不平缓的场景。答题更适用于秒杀或者营销活动等应用场景,在请求发起端就控制发起请求的速度。分层过滤非常适合交易性的写请求,比如减库存或者拼车这种场景,在读的时候需要知道还有没有库存或者是否还有剩余空座位。但是由于库存和座位又是不停变化的,所以读的数据是否一定要非常准确呢?其实不一定,你可以放一些请求过去,然后在真正减的时候(写操作的时候)再做强一致性保证。
2022-11-04 12:13:26
590
原创 《白话法律》——专栏笔记
法律上的裁员,更准确应该叫做“经济性裁员”,属于公司单方面解除劳动合同,并且也是员工没有过错的情况。《劳动合同法》所称的经济性裁员,其实是指特殊情况下,公司进行的有人数限制公司依照破产法规定需要进行重整的。或者生产经营发生严重困难的。或企业转产、重大技术革新、经营方式调整的。或因劳动合同订立时客观情况发生重大变化,导致劳动合同不能继续履行的。裁员在 20 人以上。不到 20 人,但占了员工总数 10% 以上。
2022-10-25 14:25:38
400
原创 《分布式协议与算法实战》——专栏笔记
除了故事中提到两种算法,常用的拜占庭容错算法PBFT算法PoW算法在分布式计算机系统中,最常用的是非拜占庭容错算法(CFT),CFT解决的是分布式系统中存在故障,但不存在恶意节点的场景下的共识问题,也就是说,这个场景可能会丢失消息,或者有消息重复,但不存在错误消息,或者伪造消息的情况。Paxos 算法Raft 算法ZAB 协议ACID 理论是传统数据库常用的设计理念,追求强一致性模型。BASE 理论在NoSQL中应用广泛,是 NoSQL 系统设计的事实上的理论支撑。
2022-10-19 12:34:01
2767
原创 关于代码评审
代码评审,是指对计算机源代码系统化地审查,常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。
2022-10-17 13:51:23
556
原创 《代码之丑》——专栏笔记
好的命名,是体现业务含义的命名。编写符合英语语法规则的代码千万不要复制粘贴,如果需要复制粘贴,首先应该做的是提取一个新的函数出来,把公共的部分统一处理。
2022-10-15 15:48:17
580
原创 使用并发工具类库时的坑
以为 ThreadLocal 在线程之间做了隔离不会有线程安全问题,没想到线程重用导致数据串了。没有充分了解并发工具的特性,还是按照老方式使用新工具导致无法发挥其性能。没有了解清楚工具的适用场景,在不合适的场景下使用了错误的工具导致性能更差。比如:没有理解 CopyOnWriteArrayList 的适用场景,把它用在了读写均衡或者大量写操作的场景下,导致性能问题。对于这种场景,可以考虑直接使用普通的 List。
2022-09-26 12:59:09
215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人