![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图解架构原理
文章平均质量分 93
悟空聊架构
公众号:悟空聊架构,7 年一线互联网经验,全栈工程师,手写了 PMP 刷题小程序和 Java刷题小程序。超爱图解底层原理。
公众号:悟空聊架构
展开
-
图解 IaaS,PaaS 和 SaaS
SaaS:租房子,只能住人和存放物品,不能修改房间的设施。PaaS:租房子,可以布置一些家电(如电视机、空调等等)、墙上挂一些装饰等等,俗称软装。IaaS:买来的毛坯房,可以自己装修水电、安装柜子,家电等等,俗称硬装。一般而言,企业有三种云计算服务模式可以选择.软件即服务(SaaS):这是一个完整的软件应用程序,具有用户界面;平台即服务(PaaS):开发人员可以在其中部署自己的应用程序的平台;基础设施即服务(IaaS)原创 2022-12-27 11:13:35 · 831 阅读 · 0 评论 -
如何从0开始画出一张优秀的架构图
这本享誉全球的 Java 经典著作《Core Java》一路伴随着 Java 的成长,得到了百万 Java 开发者的青睐,几乎出现在每个“学Java要看什么书”类似的书单里,影响了几代技术人。现在《Java核心技术》第 12 版根据 最新的 LTR 版本 Java 17 全面更新,本书另配作者亲授讲解视频,学习Java事半功倍。京东5折放价,闭眼入手吧!你好,我是悟空。最近在画项目的技术架构图,找到了一些不错的模板,分享给大家~画图工具:ProcessOn。如何从0开始画出一张优秀的架构图。原创 2022-12-27 11:12:26 · 3498 阅读 · 1 评论 -
深入理解 Spring Cloud Gateway 的原理
在 PassJava 项目中,我用到了 Spring Cloud Gateway 作为 API 网关,客户端的所有的请求都是先经过网关,然后再转发到会员微服务、题目微服务等。原创 2022-08-02 20:44:28 · 676 阅读 · 0 评论 -
暑假打工 2 个 月,让我明白了 Keepalived 高可用的三种路由方案
Keepalived 路由原理原创 2022-07-20 05:07:42 · 384 阅读 · 0 评论 -
一个月后,我们又从 MySQL 双主切换成了主 - 从!
一个月前,我们在测试环境部署了一套 MySQL 高可用架构,也就是 MySQL 双主 + Keepalived 的模式。详情看这篇:实战 MySQL 高可用架构在这一个月遇到了很多坑:造成上面问题的主要原因就是因为两个节点都支持写入 + 双主可以随时切换。解决这种问题的方案有 改进自增主键的步长(影响未评估),使用 GTID 方案(未验证)。即使这样,双主同步的风险还是有,而且不同步后,如何处理是个大难题。那么回到我们最初的...原创 2022-07-11 18:59:04 · 795 阅读 · 0 评论 -
从 1.5 开始搭建一个微服务框架——日志追踪 traceId
最近在搭一个基础版的项目框架,基于 SpringCloud。这个框架算是在 SpringCloud 上面搭一个框架,如果把 SpringCloud 这个框架当做 `1`,那么现在已经有的基础组件比如 swagger/logback 等就是 0.5,然后我在这 1.5 基础上进行组装,完成一个基础框架。为什么要造二代轮子呢?市面上现成的项目框架不香吗?因为项目组不允许用外部的现成框架,比如 Ruoyi。另外因为我们的项目具有自身的特色,技术选型也会选择我们自己熟悉的框架,所以自己来造二代轮子也是一个不错的原创 2022-07-05 22:20:52 · 797 阅读 · 0 评论 -
浅析「扣减库存」的方案设计
原文首发:悟空聊架构公众号:浅析「扣减库存」的三种方案设计浅析「扣减库存」的方案设计你好,我是悟空。上篇谈到了秒杀设计的方案今天我们来探讨下扣减库存的方案。生活中,我们总是用各种电商 APP 抢购商品,但是库存数是很少的,特别是秒杀场景,商品可能就一件,那如何保证不会出现超卖的情况呢?一、扣减库存的三种方案1.1 下单减库存用户下单时减库存优点:实时减库存,避免付款时因库存不足减库存的问题缺点:恶意买家大量下单,将库存用完,但是不付款,真正想买的人买不到1.2 付款减库存下单.原创 2022-05-17 14:53:28 · 837 阅读 · 0 评论 -
实战 MySQL 高可用架构
这是悟空的第147篇原创文章官网:www.passjava.cn你好,我是悟空。业界流传一句话:没有做过运维的程序员不是好架构师。不知是真是假。前言对于 MySQL 数据库作为各个业务系统的存储介质,在系统中承担着非常重要的职责,如果数据库崩了,那么对于读和写数据库的操作都会受到影响。如果不能迅速恢复,对业务的影响是非常大的。之前 B 站不是出过一次事故么,2 小时才恢复过来,详细可以看之前写的文章。B 站崩了,总结下「高可用」和「异地多活」上次折腾完 EL...原创 2022-05-17 06:44:01 · 536 阅读 · 0 评论 -
8 张图 | 剖析 Eureka 的首次同步注册表
大家好,我是悟空。Eureka 注册中心系列文章汇总:领导让我研究 Eureka 源码 | 启动过程领导“叕”让我研究 Eureka 源码:注册过程值得收藏的 Eureka 控制台详解原来一个 Map 就能搞定注册表了一、前言注册表对于注册中心尤为重要,所有的功能都是围绕这个注册表展开。比如服务 A 要想访问服务 B,就得知道服务 B 的 IP 地址和端口号吧。如下图所示,传统的方式就是服务 A 知道了服务 B 的地址后,发送 HTTP 请求到对应的 API 地址上。那服务 A 和 服务原创 2021-12-14 20:53:56 · 628 阅读 · 0 评论 -
如果把 7 个「链路追踪」组件放到一个群里,他们会聊些什么?
大家好,我是悟空呀~中间件的聊天记录第二弹来袭了,想看第一弹的在这里:如果把四个消息队列都拉到一个群里,他们会聊些什么?本篇我会从 7 大分布式链路追踪组件的历史背景、技术选型对比、使用经验、性能等多个方面来进行总结分享,相信会给大家带来一些启发。分布式链路追踪概念:运行时通过某种方式记录下各服务之间的调用过程,再通过可视化 UI 方式帮助相关人员快速定位到故障点。分布式链路追踪已经成为微服务架构性能监控的底层基础设施,必须学它一波。关于链路追踪的原理可以看我之前写的一篇:在医院五天,我把「链路追踪」整明白原创 2021-12-04 20:25:07 · 365 阅读 · 0 评论 -
领导让我研究 Eureka 源码 | 启动过程
Eureka 源码之启动过程大家好,我悟空。最近在倒腾 Eureka 源码,因为大环境太卷了,必须得卷点源码才行,另外呢,能够读懂开源项目的源码、解决项目中遇到的问题是实力的象征,是吧?如果只是会用些中间件,那是不够的,和 CRUD 区别不大。话不多说,源码走起。本篇是 Eureka 源码分析的开篇,后续会持续分享源码解析的文章。首先呢,Eureka 服务的启动入口在这里:EurekaBootStrap.java 的 contextInitialized 方法。关于源码的获取直接到官网下载就好了原创 2021-10-18 22:31:08 · 465 阅读 · 0 评论 -
领导让我研究 Eureka 源码 | 启动过程
悟空聊架构 用故事讲解分布式、架构。 《 JVM 性能调优实战》专栏作者, 《Spring Cloud 实战 PassJava》开源作者, 自主开发了 PMP 刷题小程序。 ...原创 2021-10-18 22:23:20 · 407 阅读 · 0 评论 -
48 张图 | 手摸手教你微服务的性能监控、压测和调优
20张图 | 手摸手教你微服务的性能监控、压测和调优开源项目 PassJava 地址:https://github.com/Jackson0714/PassJava-Platform本文已收录至:www.passjava.cn一、何为压力测试1.1、 大白话解释性能压测是什么:就是考察当前软件和硬件环境下,系统所能承受的最大负荷,并帮助找出系统的瓶颈所在。性能压测的目的:为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到知己知彼,百战不殆。还可以发现内存泄漏、并发与同步的问原创 2021-03-17 10:02:56 · 875 阅读 · 0 评论 -
太上老君的炼丹炉之分布式 Quorum NWR
太白金星:听闻老君最近在练神丹妙药,可否与我一讲?太上老君:老白啊,我最近在练六颗丹药:两颗延年丹、两颗健步丹、两颗恢复丹。太白金星:那这三个八卦炉定是练这三件法宝的了?太上老君:正是正是。而且对于相同的丹药,功效和大小还得完全一样。一、三个炼丹炉怎么分配的太白金星:老君,你的八卦炉怎么分配的啊?让我们揭开老君的炼丹炉,看看六颗丹药是怎么分配的。首先我们是很容易猜到丹炉是怎么分配炼丹的:一号丹炉炼两颗延年丹。二号丹炉炼两颗健步丹。三号丹炉炼两颗恢复丹。那如此分配会有什么.原创 2021-03-04 21:46:05 · 2475 阅读 · 6 评论 -
病毒入侵:全靠分布式 Gossip 协议
太可怕,一个懂分布式的病毒!一、背景我是一个小病毒,其他病毒都叫我小 B,我长得就是下图这个样子了。我现在已经有 100 nm 大小了,我还有很多触角,人类把我的触角称为冠,所以给我起了个学术名:冠状病毒。对于这个学术名,我一直不满意,怎么能用外貌来取名呢,这是以貌取毒。我出生在一个动物身上,每到晚上,这只动物就到处觅食,它最喜欢的就是在森林中觅食,但最近森林的范围急剧减少,它不得不到人类居住的城市来觅食,看着五颜六色的灯光,我如痴如醉。这只蝙蝠携带了 100 多种病毒,比如埃博拉病毒、MER原创 2021-02-24 11:30:27 · 562 阅读 · 2 评论 -
韩信大招:一致性哈希
这是悟空的第 78 篇原创文章。本文已收录 Github:https://github.com/Jackson0714/PassJava-Learning韩信点兵的成语来源淮安民间传说。常与多多益善搭配。寓意越多越好。我们来看下主公刘邦和韩信大将军的对话。刘邦:“你觉得我可以带兵多少?”韩信:“最多十万。”刘邦不解的问:“那你呢?”韩信自豪地说:“越多越好,多多益善嘛!假如刘邦现在给了韩信 1000 个士兵,需要大致均匀分成三组。士兵的编号是 6 位数,从 1-100000 随机分配.原创 2021-02-02 15:14:30 · 349 阅读 · 1 评论 -
用动图讲解分布式 Raft
动图讲解分布式 Raft一、Raft 概述Raft 算法是分布式系统开发首选的共识算法。比如现在流行 Etcd、Consul。如果掌握了这个算法,就可以较容易地处理绝大部分场景的容错和一致性需求。比如分布式配置系统、分布式 NoSQL 存储等等,轻松突破系统的单机限制。Raft 算法是通过一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致。二、Raft 角色2.1 角色跟随者(Follower):普通群众,默默接收和来自领导者的消息,当领导者心跳信息超时的时候,就主动站出来,推荐自己原创 2021-01-26 15:01:53 · 467 阅读 · 0 评论 -
诸葛亮 VS 庞统,拿下 Paxos 共识算法
前言分布式确实是一个有趣的话题,只要你留心观察,分布式在生活中无处不在。悟空哥最开始学习分布式是从一篇非常用心写的技术征文开始的,而且这篇文章获得了征文第一名,在此感谢掘金社区提供的平台。想学习的同学可以点这个文章链接:《这三年被分布式坑惨了,曝光十大坑》前两讲主要是讲解分布式理论,涉及到了分布式的四大理论。拜占庭将军问题:《用三国杀讲分布式算法,舒适了吧?》BASE、CAP、ACID:《用太极拳讲分布式理论,舒服!》从这篇开始,将会讲解分布式的八大协议/算法。本篇主要讲解 Paxos 共识算法原创 2021-01-13 21:31:02 · 415 阅读 · 1 评论 -
用太极拳讲分布式理论,真舒服!
背景:倚天屠龙记中赵敏郡主携带一帮高手围攻武当,武当派掌门张三丰被暗算,传了一套武功给张无忌用来对付赵敏的手下。这套武功就是太极拳。张三丰:无忌,你可记得多少招式?张无忌:我全忘了!张三丰:很好,你只要记住把玄冥二老打趴下就可以了。上篇用三国杀讲分布式中的拜占庭将军问题,还挺有意思的,这次我们用倚天屠龙记中的太极拳来聊下剩下的三大理论:CAP 理论ACID 理论BASE 理论太极拳的精髓:以柔克刚,刚柔并进,四两拨千斤,无招胜有招。我把 CAP 理论称作太极,ACID 理论.原创 2020-12-31 09:14:40 · 397 阅读 · 1 评论 -
用三国杀讲分布式算法,舒适了吧?
前言《三国杀》是一款热门的卡牌游戏,结合中国三国时期背景,以身份为线索,以卡牌为形式,益智休闲,老少皆宜。东汉末年,袁绍作为盟主,汇合了十八路诸侯一起攻打董卓。在讲解之前,我们先聊下分布式协议和算法整体脉络。现在很多开发同学对分布式的组件怎么使用都有一定经验,也知道 CAP 理论和 BASE 理论的大致含义。但认真去看分布式算法的真的很少,原因有三:担心算法过于复杂,所以花的时间很少。网上的资料能用大白话将分布式算法讲清楚的比较少。学习分布式算法没有一条清晰的路线。我会在后续的文章中原创 2020-12-11 15:54:44 · 382 阅读 · 0 评论 -
在医院五天,我把「链路追踪」整明白了
在医院五天,我把「链路追踪」整明白了封面图是 凌晨 3点半起来更文的锁屏桌面。前言从上周六 7 号到今天的 11 号,我都在医院,小孩因肺炎已经住院了,我白天和晚上的时间需要照顾娃,只能在娃睡觉的时候肝文了。对了,医院没有宽带和 WiFi,我用的手机开的热点~本篇主要内容这篇主要是理论 + 实践相结合。实践部分涉及到如何把链路追踪 Sleuth + Zipkin 加到我的 Spring Cloud 《佳必过》开源项目上。本篇知识点:链路追踪基本原理如何在项目中轻松加入链路追踪中间件如何原创 2020-11-16 09:48:28 · 348 阅读 · 0 评论 -
流量防控该如何选型?
临近双十一,从 2009 年第一届双十一开始,成交量只有 5000 万,到去年 2019 年,成交量达到了 2684 亿。今年迎来了第十二届双十一,想想都挺激动。阿里人喜欢将双十一视为 Team Building(团队建设),广为流传的一句话:打仗是最好的团建,没有参加过双十一的叫同事,参加过双十一的叫战友。上一篇我通过三国故事讲解了服务雪崩和熔断的机制,而且自己造了一个轮子:熔断器。而这一篇会讲解被一线大厂使用的两款流量防控组件:Sentinel 和 Hystrix,以及对它们的横向对比。本篇主要.原创 2020-11-04 09:19:27 · 423 阅读 · 2 评论