系统设计蓝图指南

系统设计蓝图指南 我们有时敏捷软件开发过程,系统设计采用一张纸,如下图供参考图例DNS接上面, APP或用户 请求与响应,分页,过期头,Gzip,幂等性设计负载均衡,API网关,访问日志,CDN,服务伸缩,通用扇出服务《系统设计蓝图指南...阅读全文

领域建模之数据模型设计方法论

本文通过实际业务需求场景建模案例,为读者提供一种业务模型向数据模型设计的方法论,用于指导实际开发中如何进行业务模型向数据模型转化抽象,并对设计的数据模型可用性、扩展性提供了建议性思考 ...阅读全文

Jenkins-Pipline实现原理

# Jenkins-Pipline原理 > 本文仅探讨jenkins pipline 的原理,是流水线的一个demo版本实现,不能代表Jenkins pipline的具体实现,仅供参考。 ## 1. Jenkins流水线介绍 Je...阅读全文

高可用三大利器 — 熔断、限流和降级

在武侠世界里,“利器”通常指的是武器中的上乘、出色之物;武器对于武者的重要性不言而喻,拥有一把优秀的武器可以让武者在战斗中更加得心应手,威力更强。在分布式系统追求高可用的背景下,熔断、限流和降级这三个重要的策略可以称得上三大利器。降级和...阅读全文

Arthas -- 一款释放潜力的神器

1. 介绍 阿里巴巴 Arthas 是一个诊断工具,可以用于监视、分析和解决 Java 应用程序的问题。使用 Arthas 的一个主要优点是,我们不需要修改代码,甚至不需要重新启动我们想要监视的 Java 服务。 在本教程中,我们将首先...阅读全文

微信万亿数据仓库架构设计与实现

没有足够的特征数据,安全策略将是"无根之木,无源之水"。微信安全数据仓库应运而生,成为整个安全业务的特征数据存储中心,每天服务了万亿级的特征数据读写请求,为整个微信安全策略提供了可靠的数据支撑,是微信安全基石之所在。...阅读全文

高可用三大利器 — 熔断

高可用的三大利器是熔断、限流和降级。它们都是在分布式系统中用于保障系统稳定性和可用性的重要策略。熔断(Circuit Breaker):熔断是一种防止故障扩散的机制。当一个服务出现故障或超时,熔断器会打开并快速失败,拒绝后续的请求,避免...阅读全文

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

本文主要讲述了应对复杂性的一些原则和经验,通过实际案例解构设计思想,个人认为好的设计是体现在「职责分离」、「抽象分层」和「变化扩展」上,在类的结构设计上尤其要花心思去想,如「变与不变分离」、「配置域与执行域分离」、「查询与命令分离」。 ...阅读全文

DDD架构为什么应该首选六边形架构?

采用依赖倒置原则后的分层架构和六边形架构,实际上都符合整洁架构设计理念。但是六边形架构中使用端口与适配器,让应用程序能够以一致的方式被用户、程序、自动化测试、批处理脚本所驱动,同时能够让应用程序边界更加清晰,从而能更好地防止领域层和应用...阅读全文

一文了解电商大促系统的高可用保障思路

本文面向受众可以是运营、可以是产品、也可以是研发、测试人员,作者希望通过如下思路(知历史->清家底->明目标->定战略->做战术->促成长)帮助大家能够了解电商大促系统的高可用保障,减少哪些高深莫测的黑话和高大尚的论调,而是希望有个体系...阅读全文

前、后端通用的可视化逻辑编排

可视化逻辑编排引擎,包括数据流驱动的逻辑编排原理,业务编排编辑器的实现,页面控件联动,前端业务逻辑与UI层的分离,子编排的复用、自定义循环等嵌入式子编排的处理、事务处理等 ...阅读全文

分布式系统中的数据复制

本文翻译自国外论坛 medium,原文地址: # 什么是数据复制? 数据复制是指将数据复制到一个或多个数据容器以确保可用性的过程。复制的数据通常存储在不同的数据库实例中,即使一个实例发生故障,我们也可以从其他实例获取数据。 一种流行数据...阅读全文

对于装饰器模式与代理模式的个人理解

对于这两个十分接近的设计模式,确实容易产生困惑,代理模式和装饰器模式看起来十分相似,都是由两个类实现相同的接口,然后一个类套另一个类。这件事足足困扰了我5分钟之久,在此总结一下它们的差别。 ## 目的不同 当你想要增强你的类,给你的类增...阅读全文