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


这里是Z哥的个人公众号

每周五早8点 按时送达

当然了,也会时不时加个餐~

我的第「75」篇原创敬上


整理好的文章目录在文末,可直接拉到最后



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



有些小伙伴们应该知道了,上周的《分布式系统关注点——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°的全方位监控》(如何循序渐进的做监控?



以上,希望对你有所帮助。

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【翻译】无需安装Python,就可以在.NET里调用Python库

原文地址:https://henon.wordpress.com/2019/06/05/using-python-libraries-in-net-without-a-python-installation/pythonnet这个屌爆的项目的出现,使得我们可以用一种新的方式,让C#可以和Python之间进行互操作。但是它的设置和部署可能有点…

Codeforces Round #706 (Div. 2) E. Garden of the Sun 思维构造

传送门 题意: 给你一个nmnmnm的矩阵,其中包含字符′.′.′.′和′X′X′X′,你可以将任何′.′.′.′改成′X′X′X′,现在问你能否通过修改一些′.′.′.′来使′X′X′X′联通且不存在环。保证原本的′X′X′X′没有任何两个相…

Ocelot(六)- 架构图

简介Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、k8s 集成。这些功能只都只需要简单的配置即可完成。架构图Ocelot的目标是使用…

基于Dapper的开源Lambda扩展,且支持分库分表自动生成实体

LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法开源地址 https://github.com/liningit/LnskyDB在此非常感谢SkyChenSky其中lambda表达式的解析参考了他的开源项目下面是用ProductSaleByDayEntity作为示例,其中StatisticalDate为分库分表字段,如…

P1297 [国家集训队]单选错位 期望

传送门 题意&#xff1a; 思路&#xff1a; 手推了一下没想到还真的能过。 对于相邻的两个数aia_iai​和ai1a_{i1}ai1​&#xff0c;分两种情况讨论&#xff1a; (1) ai<ai1a_i<a_{i1}ai​<ai1​ 时&#xff0c;答案在[1,ai][1,a_i][1,ai​]的范围内概率为aiai1\fra…

也读《人月神话》:没有银弹的软件工程

一、关于人月神话这本书记得在上大学的时候&#xff0c;就经常听学长和老师讲起《人月神话》&#xff0c;但是却一直没有阅读。记得当时一听到这个书名&#xff0c;还以为是个神马科幻类别的书&#xff0c;结果是个软件工程方面的书籍。这本书是“图灵奖得主、“IBM360系统之父…

P6154 游走 概率dp

传送门 题意&#xff1a; 思路&#xff1a; 给你个DAGDAGDAG&#xff0c;由于每一条路径出现概率相等&#xff0c;那么期望就是总长度路径个数\frac{总长度}{路径个数}路径个数总长度​。设f[i]f[i]f[i]表示到iii这个点的总长度&#xff0c;g[i]g[i]g[i]表示到iii这个点路径的…

[译]如何在C#中调试LINQ查询

LINQ是我在C#中最喜欢的功能之一。它让代码看起来更漂亮美观。我们得到了一个易于编写和理解的简洁函数式语法。好吧&#xff0c;至少我们可以使用LINQ方法的语法风格。LINQ很难进行调试。我们无法知道该查询内部发生了什么。我们可以看到输入和输出&#xff0c;但这就是它的全…

CodeForces - 375D Tree and Queries 树启 + 思维

传送门 题意&#xff1a; 思路&#xff1a; 很明显子树问题会想到树启&#xff0c;让后如何updateupdateupdate呢&#xff1f;一个显然的思路就是维护一个树状数组&#xff0c;查询次数>kj>k_j>kj​的个数。但是这样复杂度是O(nlog2n)O(nlog^2n)O(nlog2n)的&#xf…

WebSocket数据加密——AES与RSA混合加密

前言之前在写“一套简单的web即时通讯”&#xff0c;写到第三版的时候没什么思路&#xff0c;正好微信公众号看到一篇讲API交互加密&#xff0c;于是就自己搞了一套AES与RSA混合加密&#xff0c;无意中产生应用在WebSocket想法&#xff0c;好在思路都差不多&#xff0c;稍微改动…

基于 EntityFramework 生成 Repository 模式代码

借助 WeihanLi.EntityFramework 实现简单的 RepositoryIntro很多时候一些简单的业务都是简单的增删改查&#xff0c;动态生成一些代码完成基本的增删改查&#xff0c;而这些增删改查代码大多类似&#xff0c;只有一些有复杂业务逻辑的可能需要手动去写。于是实现了一个基于 EF …

P3168 [CQOI2015]任务查询系统 主席树 + 差分

传送门 题意&#xff1a; 思路&#xff1a; 题目中(si,ei,pi)(s_i,e_i,p_i)(si​,ei​,pi​)转换成操作即为在[si,ei][s_i,e_i][si​,ei​]区间内加上pip_ipi​的优先级&#xff0c;让后查询的话就是查询第xix_ixi​秒优先级最小的kik_iki​个任务的优先级之和。可知这两个操…

asp.net core 系列之Performance的 Response compression(响应压缩)

本文&#xff0c;帮助了解响应压缩的一些知识及用法(大部分翻译于官网,英文水平有限,不准确之处,欢迎指正)。什么是响应压缩&#xff1f;响应压缩简单的说就是为了减少网络带宽&#xff0c;而把返回的响应压缩&#xff0c;使之体积缩小&#xff0c;从而加快响应的一种技术(个人…

Codeforces Round #603 (Div. 2) E. Editor 线段树维护括号序列

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 首先一个括号序列合法的条件可以转化成两个(左括号代价为111&#xff0c;右括号代价为−1-1−1)&#xff1a; (1) 左括号个数等于右括号个数。 (2) 括号的前缀和非负。 所以我们直接用线段…

从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection

前言在阅读这篇文章&#xff1a;Announcing Net Core 3 Preview3的时候&#xff0c;我看到了这样一个特性&#xff1a;Docker and cgroup memory LimitsWe concluded that the primary fix is to set a GC heap maximum significantly lower than the overall memory limit as …

asp.net core使用serilog将日志推送到腾讯云日志服务

为什么是serilog&#xff1f;Serilog是 .NET 中最著名的结构化日志类库。基于日志事件log events&#xff0c;而不是日志消息log message。你可以将日志事件格式化为控制台的可读文本或者可以将相同的事件格式化为JSON并将其发送到远程日志服务器。应用程序中的日志语句会创建L…

P5787 二分图 /【模板】线段树分治

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 线段树分治就是在线段树上进行遍历&#xff0c;到每个点都加上它对子节点的贡献&#xff0c;最后到叶子节点的时候算一下贡献。 对于这个题先考虑维护二分图的话&#xff0c;可以用扩展域并…

微软发布 VS Code Java 安装程序,一键安装所有 Java 开发环境

北京时间 2019 年 6 月 14 日 &#xff0c;微软发布了 VS Code Java 安装程序&#xff0c;方便开发者能一键安装所有 Java 开发环境。几乎是在三年前&#xff0c;在微软苏黎世办公室的编程马拉松中&#xff0c;来自 Red Hat&#xff0c;IBM&#xff0c;Codenvy 和 Microsoft 的…

[译]C#中的条件断点

这只是你们许多人中可能使用的一个简单技巧。这是一个小但非常强大的技巧&#xff0c;在你调试大型代码库时尤其有用。这是条件断点的概念。正如名称本身所暗示的那样&#xff0c;只有在满足某个条件时才会设置被击中的断点。它也很容易实现。创建一个新的应用程序并设置一个普…

前菜---二叉树+堆的小练习

目录 前言&#x1f3dc;️ 1. 二叉树性质总结⛱️ 1.2 性质3⏰ 2. 二叉树性质小练习&#x1f3d5;️ 3. 答案解析&#x1f4a1; 4. 堆概念结构小练习&#x1fa94; 5. 答案解析&#x1f9ff; 6. 前/中/后/层序遍历小练习&#x1f52b; 7. 答案解析&#x1f9fa; 后语…