保存成功
订阅成功
保存失败,请重试
提交成功
flyer0126

flyer0126

架构师
专注软件架构研究,坚持分享接地气儿的架构技术干货文章! 公众号:架构精进之路。欢迎关注! ...更多
创作文章18

如何做好复杂业务架构中的状态设计?

状态设计是复杂业务系统架构设计中一个很基础且核心的问题,绝大多数业务动作的发生在系统中都可以表达为对实体生命周期的管理。 谈到“生命周期”就一定离不开“状态的流转和变化”,所以做好“状态设计”是业务产品经理、开发等需要夯实的基本功。 主要内容: 1、什么是状态? 2、状态如何来描述? 3、状态的设计原则有哪些 4、状态的设计与应用实战
17 订阅

跨系统数据一致性问题经验实战

目前随着微服务化建设的普及,存在越来越多的跨系统数据交互情况,跨系统数据一致性问题越发凸显,那如何有效保证跨系统数据的一致性呢? 本文旨在总结沉淀工作中问题解决经验,整理解决跨系统数据不一致问题的经验方法。 本 Chat 主要内容包括但不限于以下几点: 1、如何理解数据一致性 2、跨系统数据一致性问题背景 3、数据不一致问题分析 4、关键三种有效解决方案实践 5、应用经验总结 适合人群:互联网中高级产品、研发人员。
103 订阅

一文带你入门SaaS系统建设

近年来随着to B市场的火热,市面上出现了一批SaaS公司,也对传统软件模式发起了挑战。 那到底什么是SaaS呢,随着工作中接触SaaS化系统建设,也对这一概念逐步的有些清晰起来,今天就来跟大家一起分享下。 本 Chat 主要内容包括但不限于以下几点: 1、什么是SaaS 2、如何理解IaaS、PaaS、SaaS 3、SaaS有哪些优势 4、SaaS又有哪些缺点 5、SaaS化建设之数据隔离策略 6、SaaS化建设之多租户模式 7、SaaS化系统建设完善 适合人群:互联网中高级产品、研发人员。
97 订阅

低落期有效调整自己的几个实用方法

如今互联网环境大不如前几年,裁员,35 岁危机,工作不被认可的沮丧感,对职业规划的焦虑,错误择业选择的失落 等等,一系列问题都在无时无刻侵蚀着这一代的年轻人。 那我们应该如何应对呢?既然这是一个严峻的问题,那有没有什么有效的一些方法来应对呢? 华为有句经典的描述:“烧不死的鸟儿是凤凰,泥坑里爬出来的是圣人!” 只有真正经历过才能有更多的体会,才会能有机会帮助更多深陷泥潭等待救助的人。在 2021 年我自己感受到开篇描述的一系列问题,也经历了一次寻求转变过程,在此重新揭开自己的伤疤,好好总结一下分享给需要的朋友。 本 Chat 主要内容包括但不限于以下几点: 1. 感知问题 2. 面对问题 3. 痛苦时刻 4. 有效的调整方法 5. 一些无效的调整方法 6. 感知变化的过程 7. 走出来的新天地 觉察,是人一生的修为,希望此 Chat 你能从中收益!
66 订阅

全面解析防御性编程

关于防御性编程,这一概念开始来自于汽车的防御性驾驶技术,意为你永远无法确定另一位司机将要做什么,才能确保他人做出危险动作时不会伤害到你。 编程领域的防御性,是指程序都可能会出现问题,为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己。 本 Chat 主要内容包括但不限于以下几点: 1. 什么是防御性编程 2. 输入检查 3. 断言的应用 4. 错误处理 5. 异常 6. 隔离 7. 防御性编程 check list 适合人群:从事业务系统建设的产品、研发人员。
安全
80 订阅

简单易用的几个业务服务解耦方案

对于大多数业务开发同学来说,业务逻辑的解耦设计至关重要,那有哪些行之有效的方法么? 本文结合作者在实际业务项目建设经验,为大家总结一套比较普适性的解耦设计方案。 主要内容包括: 1. 服务接口解耦 2. 服务逻辑解耦 3. 服务模块解耦 适合人群:从事业务系统建设的产品、研发人员。
78 订阅

建设业务中台有哪几个关键步骤?

提起中台,大家应该并不陌生。当业务遇上中台,能擦出什么样的火花?我们又要如何开展呢? 本文结合作者在实际业务中台项目建设经验,为大家总结一套比较普适性的业务中台建设关键步骤流程,助力大家业务中台的理解与设计。 主要内容包括: 1. 什么是业务中台? 2. 明确业务中台的建设对象 3. 业务中台要具备的核心能力 4. 完善中台配套的管理机制 适合人群:从事业务系统建设的产品、研发人员。
78 订阅

高可用架构之 Sentinel 的降级原理详解

当前互联网处理的业务场景都极为复杂,各大公司都会根据自己的业务场景搭建微服务来保证单个服务只处理一块业务,这样做能极大的提升开发效率,满足快速迭代的需要,但带来的问题却是多个服务下会导致整体服务的可用性下降。 现今互联网架构里保证服务的高可用和高稳定性的时候,无非就是熔断、降级、限流,隔离这几个策略。今天主要从以下几个方面来聊聊熔断降级这块内容。 主要内容包括以下几个方面: 1. 高可用服务里边为啥要有熔断降级 2. 当前业界比较流行的几个降级组件 3. 从源码层面聊聊 Sentinel 的降级功能的实现原理 适合人群:从事服务后端研发工作的的技术人员。
Sentinel
82 订阅

经典问题:主体表与操作记录 log 表设计与解决实战

我们在日常业务研发过程中,经常会遇到“主体表与操作记录 log 表”的情况。例如:发布/修改文章后,需审核后生效;申请新增/编辑 公众号名称,需审核后生效。 这类问题锁面临的问题点,主要包括以下几类: 1. 需要利用操作记录 log 表,用来记录全面的操作记录 2. 需要利用文章主体表,用来实现文章列表的管理能力 3. 文章主体表与操作记录 log 表数据双写问题的解决 本文利用一个实际问题的完整解决实践方案,希望对于这类常见问题,给你提供一些解题思路和参考,谢谢~
MySQL
121 订阅

技术人员如何做好向上沟通?

作为研发同学,为什么自己总感觉工作很认真努力,但到年底绩效评估时不尽如人意;为什么感觉平日和自己差不多的同事(可能是做同一份工作)却能更轻易的获得领导的信赖和认可…… 向上沟通作为向上管理的重要手段,但沟通时候总是会卡壳该怎么办?明明准备的很充分,但到了真正沟通的时候还是会紧张到爆,那问题到底出在了哪里?我们又需要如何去应对解决呢? 主要内容点: 1. 向上沟通的问题有哪些 2. 到底是什么阻碍了我们的向上沟通 3. 有什么好的解决办法 4. 另外做些什么会成为加分项 向上沟通同样是门学问,存在一些技巧的运用,希望本 Chat 能带给大家一些经验参考,少走些弯路。
职业规划
99 订阅

全面透彻,深刻理解 MySQL 索引

对于 MySQL 索引,相信每位后端同学日常工作中经常会用到,但是对其索引原理,却可能未曾真正深入了解。B- 树和 B+ 树是 MySQL 索引使用的数据结构,对于索引优化和原理理解都非常重要,下面就揭开 B- 树和 B+ 树的神秘面纱,让大家在面试的时候碰到这个知识点一往无前,不再成为你前进的羁绊! 在本场 Chat 中,会讲到如下内容: 1. MySQL 查询耗时分析,抓性能优化核心问题点 2. 常见用于查询的数据结构,性能优劣对比 3. B-Tree 与 B+Tree 如何选择,结合场景来做分析更靠谱 4. InnoDB 中的索引介绍,知己知彼,应用得心应手 适合人群:软件研发
MySQL
102 订阅

超详细讲解服务幂等性设计

在目前分布式/微服务化的今天,提供的服务能力丰富多样,基于 HTTP 协议的 Web API 是时下最为流行的一种分布式服务提供方式,对于服务的幂等性保障尤为重要。计划就关于服务幂等性的一系列问题,在此将材料总结整理,分享给大家~ 在本场 Chat 中,会讲到如下内容: 1. 什么是幂等性? 2. 为什么需要幂等性? 3. 幂等性的作用是什么? 4. 解决幂等性问题实用方案 适合人群:从事服务后端研发工作的的技术人员
微服务
173 订阅

一文讲透 Redis 发布订阅

Redis 是完全开源的,高性能的 key-value 数据库,受到越来越多的业务场景应用。 Redis 还支持“发布/订阅”的消息模式,可以基于此构建一个聊天系统。那 Redis 是如何实现的“发布/订阅”模式呢?让我们一起来的学习下,原理深入浅出,尽量保证简单易懂。 在本场 Chat 中,会讲到如下内容: 1. 是什么发布/订阅模式? 2. Redis 如何实现频道订阅? 3. Redis 如何实现消息发送给频道订阅者? 4. 如何实现订阅消息的查看? 5. 实际应用案例经验分享 适合人群:所有从事软件研发工作的技术人员。
Redis
96 订阅

如何做好一场技术评审

常言道: “通过控制过程质量,来保证结果质量”。在软件设计开发过程中,研发人员在针对迭代需求启动开发之前,常常需要做一场技术评审来检验自己的思路或者设计方案是否合理,那如何做好一场技术评审呢? 计划结合自身经验与体会,两个方面来讲,分别从技术方案准备者和评审者两个不同角度出发,做好哪些点才能保证一场有效的技术评审会。 在本场 Chat 中,会讲到如下内容: 1. 技术评审的目的是什么? 2. 技术方案准备者 在准备评审材料时需要注意什么? 3. 技术方案评审者 在参会过程中需要做好什么? 4. 额外还需要注意的事项有哪些? 适合人群:所有从事软件研发工作的技术人员。
124 订阅

处理 MySQL 慢查询的正确姿势

在业务项目发展过程中,我们常常会面对要处理 MySQL 慢查询问题,那我们应该如何分析解决问题呢?结合自己工作中的经验沉淀,来跟大家一起聊聊 MySQL 慢查询处理的那些事,分享一些实用内容给大家。 在本场 Chat 中,会讲到如下内容: 1. 全局认知:一个查询 SQL 的执行到底经历了什么 2. 知识储备:SQL 查询为什么会慢 3. 抽丝剥茧:慢查询原因定位分析 4. 解决问题:代表性实用解决方案推荐 5. 经验总结:如何处理高性能查询难题 适合人群:从事服务端研发工作的的技术人员。 授人以鱼不如授人以渔,学完本 Chat 后将掌握处理MySQL慢查询问题的正确姿势。
MySQL
122 订阅

如何利用 Redis List 实现跨系统异步消息队列

随着系统间交互场景增多,MQ(消息队列)在跨系统应用中也日益增加,同时需要依赖的基础设施建设完善度也相对较高。 本 Chat 计划带大家一起,结合实际案例来了解利用 Redis List 实现跨系统的消息队列服务能力,达到降低系统的维护成本和实现复杂度的目的,同时对其应用过程中的注意事项做了总结分享。 在本场 Chat 中,会讲到如下内容: - PUB/SUB 模式介绍 - 基于 List 的消息 PUB/SUB 的实现; - 数据及时性、准确性等一些思考 - 此方式的利弊总结分析 适合人群:从事服务研发/架构工作的的技术人员。 学完本 Chat 后将掌握使用 Redis List 设计并实现一个跨系统的异步消息队列服务。
Redis
106 订阅

如何做好服务稳定性建设?

随着互联网交互场景的日益丰富,高流量高并发场景越来越多,服务稳定性建设越来越多的被大家所追捧,那从技术视角来看,如何提升服务的稳定性呢,本 Chat 带大家一起来了解。 在本场 Chat 中,会讲到如下内容: 1. 服务稳定性是什么? 2. 为什么需要服务稳定性建设? 3. 服务稳定性建设如何拆解? 4. 稳定性建设的关键动作有哪些? 5. 稳定性建设过程中的一些经验总结。 适合人群:从事系统研发/架构工作的的技术人员
高并发
117 订阅

一文道尽“表驱动法”

日常开发过程中,对于业务场景复杂的逻辑和继承结构(eg.多条件判断 if-else 较多)时,自己是不是也感觉阅读起来比较困难,维护起来也比较困难,感觉很容易出 Bug。有没有考虑利用一些优化方案来改进下呢? 本 Chat 将介绍一种表驱动法来为你提供一些新的解题思路。 在本场 Chat 中,会讲到如下内容: 1. 什么是表驱动法? 2. 表驱动法的使用原则 3. 表驱动法应用实践 适合人群:对提升代码开发效率和规范有提升诉求的研发人员
免费代码规范
54 订阅