8个月打磨,一份送给程序员的「分布式系统」合集

Wesley13
• 阅读 607

如果第二次看到我的文章,欢迎「文末」扫码订阅我个人的公众号(跨界架构师)哟~

每周五早8点 按时送达到公众号。当然了,也会时不时加个餐~

是的,这份礼物最佳受众是程序员。但是,如果你不是程序员,相信这些能使你更懂程序员,能更好的与他们交流。

有些小伙伴们应该知道了,之前的《分布式系统关注点——360°的全方位监控》是我去年开始写的「分布式系统理论」系列的最后一篇。(对了,那篇文章里的数量还写错了,是22篇,不是21篇……)

这个历时8个月、两周一更的系列其实是我的第二个原创系列。前一个还是2016年10月~2017年2月在「博客园」上写的「领域驱动设计」系列。

https://www.cnblogs.com/Zachary-Fan/p/5991674.html

其实自己现在想想还有点小可惜。为什么呢?

因为截止到去年(2018年),自己从事一线coding工作也有6年时间了。说长不长,说短也不短了。

这6年,可以不要脸的说,觉得自己还是比较拼的,因为从未感受到自己的成长在停滞。

但是也可能是由于自己光顾着埋头拉车了,现在回头看看在整个过程中有意识沉淀下来的自己的东西比较少,想想确实觉得有些可惜。

很多想法、观点,如果接下去遇不到当时的那种场景,估计这辈子也回想不起来了。

从2018年开始,由于工作内容的调整,自己离一线的coding工作更远了一步,同时在技术方面投入的时间占比也不得不进一步降低。现在估计也就10%左右吧。

而在这之前,分布式系统是我最后一个阶段在重点专注的领域,所以赶紧趁脑子里的东西还没消失,快点写下来。这才有了这个「分布式系统理论」系列。

我想,以后还是不是有机会写纯技术的系列文章还真不好说。

之前有看过几篇这个系列的小伙伴可能知道,该系列的确是以理论为主,具体的技术细节讲的不是很多,只在核心部分说了一些。

可能你会觉得,这样不够接地气啊。

是的,没错,人嘛,懒是天性,谁都喜欢「拿来主义」的东西,Z哥我也是。(好怀念快递送货到家的日子……)

毕竟“懒”是促进我们分工协作,推动人类社会发展的源动力。

但是回到现实,在技术上,如果我们不单单停留在“知其然”,还要“知其所以然”的话,理论是避不开的。因为理论告诉我们的是why,具体怎么做的how是建立在why之上的,先有why才有how,所以我认为why比how更重要。

况且,如今的技术更新换代越来越快,知道用A技术怎么干,但是不知道为什么的话,等到你用B技术的时候就是两眼一抹黑,更搞不清楚B技术相比A技术的优点和缺点在哪。

所以,我觉得这个系列应该会对你有长期的帮助的。

如今,互联网已经成为整个社会的基础设施,在我们生活中的占比越来越大。分布式系统并不是少数大公司的专属,所以「分布式系统理论」可能是你迟早需要掌握的知识。

另外,随着5G的商业化,万物互联时代也即将到来。要承载如此大的计算量,这背后不就是「分布式系统」的机会么。

因此我认为,「分布式系统」在未来的发挥空间会越来越宽广。

所以,哪怕你现在还没接触到分布式系统,但是我相信在不久的将来你可能就会面对它。

如果你现在还没涉及到分布式系统的话,那么建议你「速读」一下,知道一下what即可,然后先收藏防身。后续用到的时候再来「精读」,再好好思考一下why。

如果你目前已身处于分布式系统的工作中,那么根据Z哥给你整理的分类来针对性的「精读」吧:D。

【数据一致性】

分布式系统关注点(1)——数据一致性》(入门理解「一致性」)

分布式系统关注点(2)——通过“共识”达成数据一致性》(主流的「共识算法」到底怎么回事)

分布式系统关注点(3)——「共识」的兄弟「事务」》(主流的「分布式事务」实现方式)

【高可用】

分布式系统关注点(4)——初识「高可用」》(入门理解「高可用」)

分布式系统关注点(5)——仅需这一篇,吃透「负载均衡」妥妥的》(「负载均衡」的核心逻辑)

分布式系统关注点(6)——如何去实施「负载均衡」?》(「负载均衡」实施时的最佳实践)

分布式系统关注点(7)——做了「负载均衡」就可以随便加机器了吗?》(「负载均衡」的弊端需要注意)

分布式系统关注点(8)——如何在到处是“雷”的系统中「明哲保身」?这是第一招》(「熔断」的最佳实践)

分布式系统关注点(9)——想通关「限流」?只要这一篇》(「限流」的最佳实践)

分布式系统关注点(10)——让你的系统“坚挺不倒”的最后一个大招——「降级」》(「降级」的最佳实践)

分布式系统关注点(11)——99%的人都能看懂的「补偿」以及最佳实践》(「补偿」的最佳实践)

【伸缩性】

分布式系统关注点(12)——「无状态」详解》(「无状态」和「有状态」)

分布式系统关注点(13)——「高内聚低耦合」详解》(「高内聚低耦合」的最佳实践)

分布式系统关注点(14)——弹性架构》(架构该怎么达到“弹性”?)

分布式系统关注点(15)——“拆库“》(数据库的水平扩展怎么做?)

【高性能】

分布式系统关注点(16)——360°全方位解读「缓存」》(怎么用好缓存?)

分布式系统关注点(17)——先写DB还是「缓存」》(缓存的常见三问)

分布式系统关注点(18)——缓存背后的“毁灭种子”》(缓存雪崩&缓存穿透)

分布式系统关注点(19)——深入浅出「异步」》(异步的“坑”和最佳实践)

分布式系统关注点(20)——阻塞与非阻塞有什么区别?》(阻塞&非阻塞&异步&同步)

【易测试】

分布式系统关注点(21)——构建「易测试」系统的“六脉神剑”》(让系统更容易被测试的6个方法)

【易运维】

分布式系统关注点(22)——360°的全方位监控》(如何循序渐进的做监控?)


作者:**Zachary**

出处:https://www.cnblogs.com/Zachary-Fan/p/distributedsystems.html

如果你喜欢这篇文章,可以点一下下方的「大拇指」。

这样可以给我一点反馈。: )

谢谢你的举手之劳。

▶关于作者:张帆(Zachary,个人微信号:Zachary-ZF)。坚持用心打磨每一篇高质量原创。欢迎扫描下方的二维码~。

定期发表原创内容:架构设计丨分布式系统丨产品丨运营丨一些思考

如果你是初级程序员,想提升但不知道如何下手。又或者做程序员多年,陷入了一些瓶颈想拓宽一下视野。欢迎关注我的公众号「**跨界架构师」,回复「技术**」,送你一份我长期收集和整理的思维导图。

如果你是运营,面对不断变化的市场束手无策。又或者想了解主流的运营策略,以丰富自己的“仓库”。欢迎关注我的公众号「**跨界架构师」,回复「运营**」,送你一份我长期收集和整理的思维导图。

8个月打磨,一份送给程序员的「分布式系统」合集

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这