网关编程:如何通过用户网关和缓存降低研发成本?

如果说用户的流量就像波涛汹涌的海浪,那网关就是防御冲击的堤坝。在大型的互联网项目里,网关必不可少,是我们目前最好用的防御手段。通过网关,我们能把大量的流量分流到…

系统怎样做到高可用?

高可用系统设计的思路
一个成熟系统的可用性需要从系统设计和系统运维两方面来做保障,两者共同作用,缺一不可。那么如何从这两方面入手,解决系统高可用的问题呢?

系…

数据库优化方案:查询请求增加时,如何做主从分离

当前数据库仍为单机部署,根据一些云厂商的基准测试结果,在4核8GB的机器上运行MySQL 5.7时,大概可以支撑500TPS和10000QPS。运营负责人表示…

如何让系统易于扩展?

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

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

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

消息队列之 MetaQ 和 Kafka 哪个更香!

本篇文章首先介绍MetaQ消息队列,然后介绍了作者对MetaQ和Kafka这两个消息队列的理解。
消息队列
消息队列是一个用于接收消息、存储消息并且转发消息的…

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

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

如何成为架构师?

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

5分钟看懂的WebAssembly入门指南

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

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

学习分享|Etcd/Raft 原理篇

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

关于“重构”的一些思考

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

任何一个傻瓜都…

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

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

聊一聊方案中心性能优化中做的缓存设计

本篇文章主要是对方案性能优化2.0中,所做的缓存设计的过程、方案、结果做一个总结。
一、前言
对于方案中心,核心业务场景之一是物流场景下的物流费用计算。而部分…

一文详解Spring Bean循环依赖

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

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

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

一文揭秘饿了么跨端技术的演进、实践与落地

本文会先带领大家一起简单回顾下跨端技术背景与演进历程与在这一波儿接着一波儿的跨端浪潮中的饿了么跨端现状,以及在这个背景下,相较于业界基于 React/Vue …

一文总结 MetaQ/RocketMQ 原理


本文介绍的 MetaQ/RocketMQ 是侧重于维持消息一致性和高可靠性的消息队列中间件,帮助大家对队列设计的理解。
简介—— 消息队列中间件 Meta…

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

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

一名全栈工程师的技术实践之路

本文比较系统的介绍了什么是全栈以及全栈开发的具体步骤和实践,最后分享了作者做全栈的心得体会。
一、前言
1.1 什么是全栈
全栈开发是指开发人员掌握了前端、后…

迄今为止最完整的DDD实践

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

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