比特麒麟

靡不有初,鲜克有终

程序猿如何看待自测?为什么要关注测试?怎么进行测试?本文基于相关问题进行了总结,其中很多内容来自于极客时间专栏「程序员的测试课」。下一篇文章聚焦在集成测试的实践上。

阅读全文 »

背景简介

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 中 80% 的基础功能。学习 Kafka 的话如果只是看文章和源码,可能不久就会忘了,还是自己实现一个「精简版」的 Kafka 吧,

阅读全文 »

一般的SpringBoot项目会由多Module组成,每个Module为不同的功能模块。项目启动时,多个Module提供不同的服务,共同支持了本项目所提供的服务。若采用启动SpringBoot的方式进行多Module集成测试,一般test case会放在SpringApplication类所在的Module中,该Module一般仅提供了服务的入口,并无太多实际业务功能「简单来说,业务代码都不在这个Module中」。本文探讨运行集成测试,对多Module测试覆盖率合并统计的方法。

阅读全文 »
0%