
架构师之路
文章平均质量分 88
架构师之路
coderidea
编码理财论乾坤,听风观雨话人生。
展开
-
微服务的故障处理
当微服务发生故障后怎么办?最近线上发生一起故障,一个接口的慢查询拖垮了整个应用,导致整个应用变得不可用。如果正好赶上流量高峰,应用重启都变得很困难,除非把入口整个关闭,再重启应用等待应用的恢复。在复盘时,结论是增加上线审核流程和控制来试图阻止故障的再次发生,很少花费心思想想如何更加容易地在第一时间从故障中恢复过来。在这次故障中我也做了一些思考,如果当时是我处理这起故障,我能做什么?本文因此而起,一部分来自于之前公司所做的稳定性建设方面的经验,一部分来源于《微服务设计》中所写的经验。分成技术实现前的思原创 2021-06-06 22:48:17 · 2670 阅读 · 2 评论 -
策略模式在应用中的实践
行为模式有一种模式叫策略模式(Strategy Pattern),一个类的行为或其算法可以在运行时更改。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。如何解决:将这些算法封装成一个一原创 2020-12-13 09:59:03 · 302 阅读 · 0 评论 -
接口的所有权之争
在一文get到SOLID原则的重点和SOLDI原则之DIP:依赖倒置原则里提到过DIP (依赖倒置原则)里提到过接口所有权的问题。今天再次聊下接口所有权。在《敏捷软件开发:原则、模式与实践》里作者提到了一个开关和台灯设计的例子。图1图1的设计中,Switch 对象可以轮询真实的开关的状态 ,并且可以发送相应的turnOn 和turnOff 消息给Light。这个设计不好在哪里? 它违反了依赖倒置原则(DIP)和开放封闭原则(OCP)。对DIP违反比较明显,Switch 依赖了具...原创 2020-12-13 09:53:03 · 274 阅读 · 1 评论 -
一文get到SOLID原则的重点
最近没事再次翻开《敏捷软件开发:原则、模式与实践》看,发现以前似懂非懂的东西突然就看懂了,get到了讲的重点。SOLID(单一职责原则、开放—封闭原则、里氏替换原则、接口隔离原则以及依赖倒置原则)是由罗伯特·C·马丁引入,成为了面向对象设计中的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变成可能。1 单一职责原则(SRP)定义:一个类应该只有一个发生变化的原因为何把这两个职责分离到分离到单独的类中很重要呢?因为每一个职责都是变化的一个轴线...原创 2020-12-12 09:48:54 · 249 阅读 · 1 评论 -
架构师之路—理解设计模式
在《周期》中作者这样描述过模式:“人类必须生活在现实世界中。我们寻找模式和规律,能够让我们活得更加舒服,也获利更多。”为什么会有设计模式?你曾经多少次有过这种感觉—你已经解决过了一个问题,但就是不能确切知道是在什么地方或怎么解决的?如果你能记起以前问题的细节和怎么解决它的,你就可以复用以前的经验而不需要重新发现它。然而,我们并没有很好记录下可供他人使用的软件设计经验。设计模式的目标是将设计......原创 2020-05-04 01:12:18 · 2698 阅读 · 2 评论 -
架构师之路—从阅读经典开始
记得刚毕业那几年面试的时候,经常会被问到,你的职业规划是什么?那时候经常会回答“未来想做一个架构师”。可转眼已工作十年了,工作中除了挖坑,填坑,早已忘记了梦想是什么。有时候想停下来,休息个一年半载。但无奈这上有老,下有小,为了生存便也身不由己继续苟且。这个年纪如果还想继续做这一行,有两个选择一个是业务领域专家,另一个是走架构师这条路。互联网走业务领域专家选择更少一些,在业务领域更是没有多少的积...原创 2020-05-01 23:46:20 · 1006 阅读 · 0 评论