这里收录了所有的技术文章,记录我在编程道路上的学习与思考。
认证演进史(二):JWT——把状态装进令牌
上一篇我们讲了 Session:服务器用一个"小本本"记住你是谁。 但这个小本本带来了新问题:服务器有状态了。在微服务和水平扩展的时代,这是个大麻烦。 有没有办法让服务器什么都不存,却还能验证你的身份? ...
这里收录了所有的技术文章,记录我在编程道路上的学习与思考。
上一篇我们讲了 Session:服务器用一个"小本本"记住你是谁。 但这个小本本带来了新问题:服务器有状态了。在微服务和水平扩展的时代,这是个大麻烦。 有没有办法让服务器什么都不存,却还能验证你的身份? ...
你登录了网站,刷新页面,还是登录状态。点击"我的订单",不用再输密码。这背后是什么魔法? 答案是:服务器在偷偷记着你。 ...
学了六种并发模型,该用哪个?答案是:看场景。没有最好的模型,只有最适合的。这篇文章给你一个决策框架,帮你在实际项目中做出选择。 ...
其他语言在运行时防止数据竞争,Rust 说:太晚了。它把检查前移到编译期——写出数据竞争的代码,根本编译不过。这听起来很激进,但 Rust 证明了它是可行的。 ...
Actor 说:我是实体,给我发消息。CSP 说:不,Channel 才是主角,进程只是 Channel 两端的工人。Go 语言选择了 CSP,并且用一句话总结了它的哲学:不要通过共享内存来通信,而要通过通信来共享内存。 ...
如果共享状态是万恶之源,那就别共享。Actor 模型的哲学很简单:每个 Actor 都是一座孤岛,唯一的沟通方式是发消息。这个 1973 年的理论,在 Erlang 手里变成了电信级的可靠性。 ...
线程太重,一个服务器撑不了几万个连接。于是我们发明了协程——一种假装是线程的函数。它轻到可以创建百万个,但代价是:你得重新学一套编程模型。 ...
锁是治疗竞态条件的药,但剂量不对会变成毒。粒度太粗,性能完蛋;粒度太细,死锁等着你。欢迎来到锁的地狱。 ...
你的 8 核 CPU,可能只有 1 核在干活。不是硬件不行,是软件跟不上。欢迎来到并发的世界——一个充满陷阱的世界。 ...
理论学了一堆,项目里怎么用?这篇我们聊聊真实场景:库存扣减怎么防超卖、分布式锁怎么才安全、跨服务调用怎么保证一致性。 ...