面对互联网系统的三高(高可用,高性能,高并发),数据库方面我们多会采用分库分表策略,如此必然会面临另一个问题,分库分表策略下如何生成数据库主键?那么今天针对此问题,我们就聊聊如何设计一款“百万级”的分布式ID生成器。
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,削峰填谷等问题。实现高性能、高可用、可伸缩和最终一致性架构。
本文尝试从 CommonJS 和 ES Module 两者规范的差异,详细说明该配置是如何影响 tsc 编译结果的。
单元测试是我们常用的验证代码正确性的工具,但是如果只用来验证正确性的话,那就是真是 “大炮打蚊子”--大材小用,它还可以帮助我们评判代码的抽象程度与设计水平。本文还会提出一个以“可测试性”为目标,不断迭代重构代码的思路,利用这个思路,面对任何复杂的代码,都能逐步推导出重构思路。为了保证直观,本文会以一个 “生产者消费者” 的代码重构示例贯穿始终。最后还会以业务上常见的 Excel 导出系统为例简单阐述一个业务上的重构实例。
资源预测是项目管理过程中的一个环节,即通过搭建合适的数据模型,对未来的项目人力资源投入情况进行有效预测,可以更加精准的完成项目资源规划并能及时发现问题进行相关调整。
为什么要使用单元测试? 1. 运行快:如果由测试同学手工测试,可能测试周期很长,对于功能比较复杂的功能,测试同学可能并不能完整覆盖所有预期链路,也可能由于某些操作而错过一些关键性步骤。2. 减少回归成本:使用单元测试,可以在每次修改代码后重新运行整套测试,尽可能保证新代码不会破坏现有功能。3. 优化代码结构:当代码耦合度非常大时,可能很难进行单元测试。为代码编写测试将自然地按照预期功能分离你的类。
随着eBPF推出,由于具有高性能、高扩展、安全性等优势,目前已经在网络、安全、可观察等领域广泛应用,同时也诞生了许多优秀的开源项目,如Cilium、Pixie等,而iLogtail 作为阿里内外千万实例可观测数据的采集器,eBPF 网络可观测特性也预计会在未来8月发布。下文主要基于eBPF观测HTTP 1、HTTP 1.1以及HTTP2的角度介绍eBPF的针对可观测场景的应用,同时回顾HTTP 协议自身的发展。