
系统架构学习记录
文章平均质量分 93
系统架构学习记录
轻狂书生FS
一个对技术有追求的轻狂书生
一个现实的理想主义者。
写博客目标:催促自己不断学习,记录自己学习的路程。
展开
-
技术分享:真实案例解析缓存大热key的致命陷阱
在现代软件架构中,缓存是提高系统性能和响应速度的重要手段。然而,如果不正确地使用缓存,可能会导致严重的线上事故,尤其是缓存的大热key问题更是老生常谈。本文将探讨一个常见但容易被忽视的问题:缓存大热key和缓存击穿问题。我们将从一个真实案例入手,分析其原因,并提供解决方案和预防措施。转载 2025-01-07 09:09:42 · 40 阅读 · 0 评论 -
框架学习之KOCA框架简介
KOCA是金证基于主流、开放、标准、安全的技术体系,全新打造的开放云原生平台,具备多终端框架、微服务架构、监控运维、开发中心、DevOps平台等五大核心能力,为客户打造“资源高效、应用敏捷、业务智能、安全可信”的技术中台,助力企业数字化转型。KOCA目前已覆盖**证券、基金、银行、信托、保险、政务、智慧园区、智慧城市**等诸多领域,为客户提供包括资管、交易、行情、清算、理财、估值、租赁、两融、救灾应急等场景的技术解决方案。原创 2023-05-01 08:00:00 · 1493 阅读 · 1 评论 -
关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案
关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案前言上一篇文章介绍了设计备选方案,在完成备选方案设计后,如何挑选出最终的方案也是一个很大的挑战,不同的备选方案本身不存在绝对的正确或者错误,关键是不同的场景应该采取不同的方式。也就是说,有时候我们挑选最简单的方案,有时候要挑选最优秀的方案,有时候挑选最熟悉的方案,甚至有时候真的要领导拍板。因此关键的问题是:这里的"有时候"到底应该怎么判断?这篇文章讲讲架构设计流程的第3步:评估和选择备选方案。架构设计第 3 步:评估和选择备选方案前面原创 2021-03-18 13:36:54 · 3925 阅读 · 3 评论 -
关于系统架构你不知道的那些事-架构设计流程:设计备选方案
关于系统架构你不知道的那些事-架构设计流程:设计备选方案前言架构设计第 2 步:设计备选方案第一种常见的错误:设计最优秀的方案。第二种常见的错误:只做一个方案。第三种常见的错误:备选方案过于详细。设计备选方案实战备选方案 1:采用开源的 Kafka备选方案 2:集群 + MySQL 存储备选方案 3:集群 + 自研存储方案总结前言上篇博文架构设计流程:设计备选方案介绍了识别系统复杂度。今天我们讲一下结构设计流程的第2步:设计备选方案,同样还会结合上篇博文“前浪微博”的场景,谈谈消息队列设计备选方案的实原创 2021-02-07 15:14:14 · 2574 阅读 · 1 评论 -
关于系统架构你不知道的那些事-架构设计流程:识别复杂度
关于系统架构你不知道的那些事-架构设计流程:识别复杂度前言架构设计第 1 步:识别复杂度识别复杂度实战这个消息队列是否需要高性能这个消息队列是否需要高可用性这个消息队列是否需要高可扩展性小结前言接下来将用四篇文章来介绍实践中如何进行架构设计。结合复杂度来源和架构设计原则,通过模拟的设计场景“前浪微博”讲解架构设计流程。这篇介绍架构设计流程的第一步:识别复杂度。架构设计第 1 步:识别复杂度前面介绍过,架构设计的本质目的是为了解决软件系统的复杂性,所以在我们设计架构时,首先就要分析系统的复杂性。只原创 2021-01-28 11:12:01 · 1865 阅读 · 4 评论 -
关于系统架构你不知道的那些事-架构设计原则案例
关于系统架构你不知道的那些事-架构设计原则案例前言书接上文,上篇文章介绍了架构设计的三条核心原则:合适原则、简单原则和演化原则。我们在架构设计实践中,应该时刻谨记这三条设计原则,指导我们设计出合适的架构,即使是代表中国互联网技术最顶尖水平的 BAT,其架构的发展历程也同样遵循这三条原则。今天我就以大家耳熟能详的淘宝和手机 QQ 作为案例,来简单分析一下。淘宝注:以下部分内容摘自《淘宝技术发展》。淘宝技术发展主要经历了“个人网站”→“Oracle/ 支付宝 / 旺旺”→“Java 时代原创 2021-01-14 17:47:48 · 1673 阅读 · 2 评论 -
关于系统架构你不知道的那些事-架构设计原则案例
架构设计原则案例前言淘宝1.个人网站2.Oracle/ 支付宝 / 旺旺3. 脱胎换骨的 Java 时代 1.04. 坚若磐石的 Java 时代 2.05.Java 时代 3.0 和分布式时代手机 QQ1. 十万级 IM 1.X3. 千万级 IM 3.X4. 亿级 IM 4.X总结前言书接上文,上篇文章介绍了架构设计的三条核心原则:合适原则、简单原则和演化原则。我们在架构设计实践中,应该时刻谨记这三条设计原则,指导我们设计出合适的架构,即使是代表中国互联网技术最顶尖水平的 BAT,其架构的发展历程也同原创 2020-12-25 08:53:10 · 1910 阅读 · 0 评论 -
关于系统架构你不知道的那些事-架构设计三原则
架构设计三原则前言合适原则:合适优于业界领先简单原则: 简单优于复杂结构的复杂性逻辑的复杂性演化原则:演化优于一步到位总结前言成为架构师是每个程序员的梦想,但并不意味着把编程做好就能够自然而然地成为一个架构师,优秀程序员和架构师之间还有一个明显的鸿沟需要跨越,这个鸿沟就是“不确定性”。对于编程来说,本质上是不能存在不确定的,对于同样一段代码,不管是谁写的,不管什么时候执行,执行的结果应该都是确定的(注意:“确定的”并不等于“正确的”,有 bug 也是确定的)。对于架构设计来说,本质上是不确定的原创 2020-12-18 08:43:37 · 2007 阅读 · 2 评论 -
关于系统架构你不知道的那些事-复杂度的来源之低成本、安全和规模
复杂度的来源之低成本、安全和规模低成本安全功能安全架构安全规模总结低成本当我们的架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关注的目标,但如果架构方案涉及几百上千甚至上万台服务器,成本就会变成一个非常重要的架构设计考虑点。例如,A 方案需要 10000 台机器,B 方案只需要 8000 台机器,单从比例来看,也就节省了 20% 的成本,但从数量来看,B 方案能节省 2000 台机器,1 台机器成本预算每年大约 2 万元,这样一年下来就能节省 4000 万元,4000 万元成本不原创 2020-12-09 17:19:51 · 1989 阅读 · 2 评论 -
关于系统架构你不知道的那些事-复杂度的来源之高可用
高可用前言计算高可用存储高可用小总结高可用状态决策独裁式协商式民主式小总结总结前言上篇我们了解了复杂度的来源之高性能,本篇我聊一下复杂度的第二来源高可用参考维基百科的定义:系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一。这个定义的关键在于“无间断”,但恰好单点就在于“无间断”上面。因为无论硬件和软件都不可能做到无间断,都存在其生命周期。硬件会出故障,软件会出bug;硬件会逐渐老化,软件会越来越复杂和庞大…系统的高可用方案五花八门,但是万变不离其宗,本质上都是原创 2020-12-05 17:49:15 · 1797 阅读 · 0 评论 -
关于系统架构你不知道的那些事-复杂度的来源之高性能
关于系统架构你不知道的那些事-复杂度的来源之高性能前言单机复杂度批处理操作系统分时操作系统小总结集群的复杂度任务分配任务分解小总结总结前言在架构设计的主要目的那篇博文中提到了,架构设计的主要目的是为了解决软件系统复杂度带来的问题。那么接下来的几篇博文将与大家一起讨论复杂度的6个来源,这篇文章将介绍复杂度的来源之一-高性能。对性能孜孜不倦的追求是整个人类技术不断发展的根本动力。计算机,从电子管计算机到晶体管计算机再到集成电路计算机,运算性能从每秒几次提升到几亿次。单伴随性能原来越高相应的方法和系统复原创 2020-11-25 08:38:53 · 2440 阅读 · 2 评论 -
关于系统架构你不知道的那些事之架构设计的目的
关于系统架构你不知道的那些事之架构设计的目的前言架构设计的误区因为架构很重要,所以要做架构设计不是每个系统都要做架构设计吗公司流程要求系统开发过程中必须有架构设计为了高性能、高可用、可扩展,所以要做架构设计架构设计的真正目的简单的复杂度分析案例总结前言谈到架构设计,相信每个技术人员都是耳熟能详,但如果深入探讨一下,“为何要做架构设计?”或者“架构设计目的是什么?”类似的问题,大部分人可能从来没有思考过,或者即使有思考,也没有太明确可信的答案。架构设计的误区关于架构设计的目的,常见的误区有:因为原创 2020-11-24 11:28:55 · 2225 阅读 · 2 评论 -
关于系统架构你不知道的那些事之架构设计的历史背景
关于系统架构你不知道的那些事之架构设计的历史背景前言机器语言(1940 年之前)汇编语言(20世纪40年代)高级语言第一次软件危机与结构化程序设计(20 世纪 60 年代~20 世纪 70 年代)第二次软件危机与面向对象(20 世纪 80 年代)软件架构的历史背景总结前言我认为,如果想要深入理解一个事物的本质,最好的方式就是去追寻这个事物出现的历史背景和推动因素。我们先来简单梳理一下软件的开发进化的历史,探索一下软件架构出现的历史背景。机器语言(1940 年之前)最早的软件开发使用的是“机器语言原创 2020-11-23 16:18:40 · 2262 阅读 · 0 评论 -
关于系统架构你不知道的那些事之了解几个常见的名词
了解几个常见的名词前言系统与子系统关于系统,维基百科的定义如下:子系统的定义举例分析模块与组件维基百科的定义两者的对比框架与架构框架的定义架构的定义总结前言今天梳理了与架构有关的几个容易混淆的概念,包括系统与子系统、模块与组件、框架与架构,解释了架构的定义,希望对各位有所帮助。系统与子系统关于系统,维基百科的定义如下:系统泛指有一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是“总体”“整体”或者“联盟”。其中有的关键词是:1. 关联:系统是由一原创 2020-11-17 16:29:04 · 2132 阅读 · 0 评论