设计模式原则之:单一职责模式

对类来说的,即一个类应该只负责一项职责。如类A负责两个不同的职责,职责1,职责2。当职责1需求变更而改变A时,可能造成职责2智行错误,所以要将类A的粒度分解为A1,A2 错误的应用实例 package org.example.demo0...阅读全文

系统设计蓝图指南

系统设计蓝图指南 我们有时敏捷软件开发过程,系统设计采用一张纸,如下图供参考图例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):熔断是一种防止故障扩散的机制。当一个服务出现故障或超时,熔断器会打开并快速失败,拒绝后续的请求,避免...阅读全文

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

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