昨天 MySQL发布了个新版本V9.1.0,先看一下what‘s new里面写的东西。 1. Triggers no longer loaded by read-only operations 。简单说,就是之前的版本,加载触发器的时候是直接解析的。现在优化为,只加载元数据,并不启动解析。 等表上有更新语句,要使用触发器逻辑的时候再解析触发器内容。…
第一步 当用户点击“购买”按钮时,会生成一个支付事件 (Payment Event) 并发送到支付服务。 第二步 支付服务 (Payment Service) 将支付事件存储在数据库中。 第三步 单个支付事件可能包含多个支付订单。比如,我们结账时会从多个卖家选择商品。这时,支付服务会拆分支付事件,每个支付订单都会调用一次支付执行服务 (Payment…
2011 年初,LinkedIn 开源了 Kafka,这是一个分布式事件流平台。它以作家弗朗茨-卡夫卡(Franz Kafka)的名字命名。顾名思义,Kafka 是为写而优化的。它为处理实时数据馈送提供了一个高吞吐量、低延迟的平台,在互联网公司中得到广泛应用。 Kafka 通过顺序 I/O (Sequential I/O)和零拷贝 (Zero…
CAP、BASE、SOLID、KISS,这些缩写词是什么意思? 下图解释了系统设计中常见的缩写词。 CAP CAP 定理指出,任何分布式数据存储都只能提供以下三种保证中的两种: 一致性 – 每次读取都会收到最近的写入或错误。 可用性 – 每个请求都会收到响应。 分区容忍度 – 系统在网络故障时仍能继续运行。…
01 复杂度综述 1、什么是复杂度 软件设计的核心在于降低复杂性。–《软件设计的哲学》 业界对于复杂度并没有统一的定义,斯坦福教授John Ousterhout从认知负担和工作量方面给出了一个复杂度量公式 子模块的复杂度cp乘以该模块对应的开发时间权重值tp,累加后得到系统的整体复杂度C 这里的子模块复杂度cp是一个经验值…