灰度发布、蓝绿部署、金丝雀都是啥?以及在k8s中如何实现
概述 发布新代码存在的问题: 1、发布过程中服务暂时中断 2、回滚麻烦,容易造成服务长期不可用 总结一个目标:能不能尽量较少中断时间 于是定制了各种发布策略 滚动发布: 一套环境,滚动更新,新旧版本共存,如果有10台机器,发布过程准确11台就行 优点:节省机器、最小化停机时间、平滑过渡 缺点:出问题了,不确定是…
【压力测试】怎样设计全链路压力测试平台?
[collapse title="什么是压力测试"] 压力测试(简称为压测)大部分同学这样认为:先搭建一套与正式环境功能相同的测试环境,并且导入或者生成一批测试数据,然后在另一台服务器,启动多个线程并发地调用需要压测的接口(接口的参数一般也会设置成相同的,比如,想要压测获取商品信息的接口,那么压测时会使用同一个商品ID)。最后,通过统计访问日志,或…
几种分布式锁的实现方式
简介 在分布式系统中,各系统同步访问共同的资源是很常见的。因此我们常常需要协调他们的动作。 如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 一个好的分布式锁常常需要以下特性: 可重入 同一时间点,只有一个线程持有锁 容错性, 当锁节…