美术生都要膜拜的AI
|
你看分布式系统的技术栈这么多、这么复杂对吧,别慌。 我写这篇文章不是为了劝退你们的,我们要学习必须分步骤分主题的学习,对整体的分布式技术栈分而克之,逐步掌握。 4. 如何学习分布式系统的技术栈 在分布式技术栈中我们可以看到,其实分布式技术是有分类的,我们可以根据不同的分类去掌握每种类别的分布式技术背后的概念和思想。无论分布式技术有多少实现,这些实现永远都是以其所在分类的分布式技术原理作为核心底层来实现的。 同时呢,我们在学习当中,还必须理论联系实际,根据我们的实际开发和架构需要学习。 而且,业务是逐步发展的,项目也不会一下就发展的特别庞大。这就给与了我们分步学习,逐步掌握的时间和机会。 4.1 分布式通信 那具体到底如何做呢? 首先,分布式中的根基是什么?就我自己的经历而言,我认为是通信,最重要的其实分布式系统中那些模块中的通信机制。 而通信机制该怎么学习?我认为首先要了解我们可用的各通信机制的区别。其中尤为重要的是了解各通信机制的缺点。对,你没看错,就是缺点。 为什么缺点最重要呢?因为架构师在架构的时候,一项尤为重要的工作就是做技术选型。而技术选型的目标很多时候的应用场景往往非常模糊,如果能了解到各选型的缺点,则对选型的结果是否准确就起到了极其重要的作用。 比如,我们现在想搞模块间通信,那么到底是用 RPC 还是用 MQ ?此时,我们知道 RPC 的缺点和 MQ 的缺点的话,就能很容易做出更准确的选型。 RPC 的缺点:
MQ 的缺点:
好了,知道了缺点,我们就很容易选型了。如果我们现在有个业务是实时扣费,我们肯定要搞 RPC,因为这是延迟敏感并且是需要强一致性。 如果我们现在有个业务是同时给会计系统和合作方发记账请求的需求,那这时候我们就可能选用 MQ 通信了。 4.2 分布式协调和同步 我们理解了分布式通信之后,下一步我认为最要学的是分布式协调和同步。 因为在现实里,即使系统搞成分布式了,其实往往没有特别大,分布式资源管理暂时可以先不考虑。分布式存储也可能还在使用数据库的主备或者 Sharding 方式在抗。而分布式计算的需求也可能没有那么紧急。 但是,一旦分布式系统中的全局状态出问题了,那就是事故了。所以,理解分布式协调和同步,一定是很紧急也很重要的。 那协调和同步怎么学呢? 我们要知道,我们所谓的协调数据访问,同步数据访问到底是在做什么。其实协调数据访问的本质就是去对数据访问的请求做优先级排列,这就是协调数据访问的本质。而如何定义优先级?根据什么定义优先级?就是我们需要学习的东西。 至于同步,其实就是对数据访问的保护。如何限制对数据的访问?限制数据访问的策略是什么?就是同步的本质。
然后,如果我们理解了多线程的数据协调和同步,我们通过分布式和多线程的相同和区别,能更容易更快速的去把握好分布式协调的技术本质。 (编辑:柳州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
