如何让系统易于扩展?

高可扩展性是架构设计中的关键指标,它意味着系统能够通过增加服务器数量来线性提升处理能力,从而应对更高的流量和并发需求。有人可能会问:“为什么在设计之初不直接规划…

池化技术:如何减少频繁创建数据库连接的性能损耗?

一天,公司 CEO 将你叫到会议室,向你展示了一个新出现的商业机会,希望你能带领一位同事,快速推出一款面向某垂直领域的电商系统。面对有限的人手和紧迫的时间,你毫…

技术与业务同行:做业务的技术人

本文结合了作者的工作经验提出了一些建议,希望每一位技术同学都可以找到适合自己的成长方向和路径。
做业务就好比打仗,团队是我们的归属。
在团队中,我们既要通力协…

从零开发——微前端框架实践

我们对微前端框架的内容做了一个详细的介绍,并从零开始用Typescript实现了微前端的基本功能。
本文我们首先实现一个可进行子应用注册和资源加载的微前端框架…

领域驱动设计DDD|从入门到代码实践

在本文中,作者将借鉴《实现领域驱动设计》的做法,介绍领域驱动设计的基本概念的同时,用一个虚拟的公司和一个虚拟的项目,把领域驱动设计进行落地实践。
背景
为什么…

如何成为架构师?

作者总结这些年在支付宝做架构的经验,把自己摸索成长的内容写下来,从对架构师的认知到业务能力和架构能力多方面总结了案例经验,希望可以帮助到大家。
在内网上有太多…

5分钟看懂的WebAssembly入门指南

本文是一篇 WebAssembly 的入门文章,从理论介绍到实战方面有全面的讲述。

历史进程
由于 javascript 的动态类型特性,AOT 并不能为…

学习分享|Etcd/Raft 原理篇

本文是根据近期对 Etcd-Raft 的学习把自己的理解做个简单整理和分享。
近期负责的项目中有一个场景需要依赖数据一致性算法,因此做了一些相关的调研。本文是…

从设计模式谈业务开发

本文主要讲述我们如何通过一个主干业务流程承接多个业务场景并在数据上可适配到多端型多场景,实现在服务端高质量高效率的“包接口”。
一、背景
前台业务同学在业务承…

关于“重构”的一些思考

本文将从一个新人数次修改CR comments的角度探讨代码重构的定义、目的以及常见的重构方法,并以简单的代码案例来说明代码重构的具体实现。

任何一个傻瓜都…

实战总结|复杂系统设计原则与案例

本文主要讲述了应对复杂性的一些原则和经验,通过实际案例解构设计思想,个人认为好的设计是体现在「职责分离」、「抽象分层」和「变化扩展」上,在类的结构设计上尤其要…

Node 中的 AsyncLocalStorage 的前世今生和未来

作者系统详实的介绍了什么是AsyncLocalStorage、如何使用、Node 是如何实现的 AsyncHook等。不论你是0基础还是对此API有些了解的读…

一文详解Spring Bean循环依赖

本文主要梳理了Spring解决bean循环依赖的思路。
一、背景
有好几次线上发布老应用时,遭遇代码启动报错,具体错误如下:
Caused by: org.s…

阿里十年:我用十年的时间,学会成长

本文记录了作者在工作10年间遇到的挑战与困难、思考与成长,也是对过去工作的总结与反思,分享出来,希望对大家有所帮助。(文末附活动)
一、个人简介
1.1 前言…

高德信息业务DDD实战 – 聊聊用领域重构胶水代码

本文主要记录了高德信息业务DDD实战中如何用领域重构胶水代码。
一、背景

团队简介:高德信息业务us团队主要承接聚合下游服务(搜索、推荐、广告、离线、商服、…

深入浅出流批一体理论篇——数据架构的演进

这篇文章的主要内容包括:1、数据架构的演变历史与各种架构的优缺点。2、流批一体的价值。3、流批一体架构中流与批的关系。
一、前大数据时代
人人都知道罗马不是一…

值得收藏!如何快速画出一幅漂亮的架构图

这篇文章总结了常用的架构图类型,可以借鉴笔者提供的模板,快速地产出符合业务需要的架构图。
为什么要画好一幅架构图?一幅漂亮的架构图既是创作者的深度结构化思考和…

迄今为止最完整的DDD实践

对于一个架构师来说,在软件开发中如何降低系统复杂度是一个永恒的挑战。
一、为什么需要DDD

复杂系统设计:系统多,业务逻辑复杂,概念不清晰,有什么合适的方…

评委角度看阿里技术晋升,建议做好这几件事

今年作为评委参加过比较多的晋升场子,前端和客户端技术栈为主。虽然连续3周的高强度面试场,对体力和脑力挑战很大,但对我个人而言,犹如经历了一场头脑⻛暴,还是非常…

该重视软件方法了,实现:利润 = 需求 – 设计

本文篇幅有些长,但是相比阅读各类书籍,然后理解和吸收,会大大节省很多时间,对于一些书中难以理解的部分做了改进,帮助更好的理解。可能阅读本文需要一些软件方法的基…