集成测试实战(1)理论基础
程序猿如何看待自测?为什么要关注测试?怎么进行测试?本文基于相关问题进行了总结,其中很多内容来自于极客时间专栏「程序员的测试课」。下一篇文章聚焦在集成测试的实践上。
Java代码中字符串拼接方式分析
本文研讨的字符串拼接方式为以下4种:“+”号、StringBuilder、StringJoiner、String#join,对比分析及探讨最佳实践。
动手实践Redis主从复制、Sentinel主从切换、Cluster分片
背景简介
Redis 提供的如下技术「Redis Sentinel『主从切换』、Redis Cluster『分片』」,有效实现了 Redis 的高可用、高性能、高可伸缩性,本文对以上技术进行亲自动手实践。
1. Redis Sentinel「主从切换」
- 监控主从节点的在线状态,并根据配置自行完成切换「基于raft协议」。
- 主从复制从容量角度来说,还是单机。
2. Redis Cluster「分片」
- 通过一致性 hash 的方式,将数据分散到多个服务器节点:设计了 16384 个哈希槽,并分配到多台 redis-server。
- 当需要在 Redis Cluster 中存取一个 key 时,Redis 客户端先对 key 使用 CRC16 算法计算一个数值,然后对 16384 取模,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,然后在此槽对应的节点上操作。
零拷贝技术「资料汇总」
发表于
更新于
本文为网上收集资料的汇总,以期对零拷贝技术的方方面面进行系统的梳理。
仿照Kafka从零开始自实现MQ
仿照Kafka,从零开始自实现 MQ,实现了 Kafka 中 80% 的基础功能。学习 Kafka 的话如果只是看文章和源码,可能不久就会忘了,还是自己实现一个「精简版」的 Kafka 吧,
亲自动手设计一个高并发的秒杀系统
设计一个高并发的秒杀系统,并产出架构图、设计文档等。
Multi Module Spring Boot集成测试使用JaCoCo生成测试覆盖率
一般的SpringBoot项目会由多Module组成,每个Module为不同的功能模块。项目启动时,多个Module提供不同的服务,共同支持了本项目所提供的服务。若采用启动SpringBoot的方式进行多Module集成测试,一般test case会放在SpringApplication类所在的Module中,该Module一般仅提供了服务的入口,并无太多实际业务功能「简单来说,业务代码都不在这个Module中」。本文探讨运行集成测试,对多Module测试覆盖率合并统计的方法。