我之前写过一篇关于Seckill系统的文章,最后为自己埋下了分布式事务中的一个漏洞。然后许多读者要求我编写分布式事务。作为一个热情的程序员,我总是回应每一个请求,即使我不睡觉!
[En]
I wrote an article about Seckill system before, and finally buried a hole in distributed transactions for myself. Then many readers asked me to write distributed transactions. As a warm man of programmers, I always respond to every request, even if I don't sleep!
因为分布式事务是:分布式 + 事务 = 分布式事务。
理所当然的要先谈谈分布式,而分布式又得谈谈这个概念是如何演进得来的,因此作为创作鬼才的我,就先来讲讲架构的演进,什么叫分布式?什么是集群?SOA、微服务这两个东西的关系和区别,下篇再讲分布式事务。
因为我发现我的大多数读者都是学生或者像我一样刚毕业。他们可能不知道分布的一些细节和架构的演进路线。
[En]
Because I find that most of my readers are students or just graduated from school like me. They are tired of listening to distributed estimation all the time. They may not know some details of distribution and the evolution route of architecture.
首先,我一直在追求一个技术点,不仅是为了了解它的原理,还为了知道这个技术点解决了哪些痛点,以及这些痛点的原因是什么?这项技术在诞生之前是如何解决的?
[En]
To begin with, I have been pursuing a technology point, not only to understand its principle, but also to know what pain points this technology point solves and what causes these pain points? How was this technology solved before it was born?
也就是整体的演进过程,历史脉络。
比如为何需要HTTP?HTTP0.9为何需要演进到HTTP1.0? 进而又向1.1、2演进到最新要将Google开发的基于UDP的QUIC协议应用到HTTP3中。
搞懂这些来龙去脉相信你不仅仅对HTTP会有更深层次的理解,对网络也会有更加深刻的认识。当然也不是说一样东西一来就得全盘理清,有些东西还是比较复杂的,只是说我们要往这个方向去学。
这也是一个我一直认为非常重要的学习思想。知道发生了什么以及为什么会发生,会帮助你更好地理解很多事情。
[En]
This is also a learning thought that I always think is very important. Knowing what happens and why it happens will help you better understand many things.