首页 > 其他分享 >微服务设计:测试

微服务设计:测试

时间:2023-07-06 21:34:54浏览次数:30  
标签:服务 部署 主机 可以 切换 测试 设计

单元测试通常只测试一个函数和方法调用。
单元测试对于代码重构非常重要,因为我们知道,如果不小心犯了错误,这些小范围的测试能很快做出提醒,这样我们就可以放心地随时调整代码。
运行端到端测试需要部署多个服务。显然,这种测试可以覆盖更大的范围,也让我们对系统的正常工作更有信心。另一方面,这种测试运行起来比较慢,定位失败也更加困难。
包含在测试中的服务数量越多,测试就会越脆弱,不确定性也就越强。如果测试失败以后每个人都只是想重新运行一遍测试,然后希望有可能通过,那么这种测试是脆弱的。不仅这种涉及多个服务的测试很脆弱,涉及多线程功能的测试通常也会有问题,测试失败有时是因为资源竞争、超时等,有时是功能真的被破坏了。
使用蓝/绿部署时,我们会部署两份软件,但只有一个接受真正的请求。
实施蓝/绿部署有几个前提条件。首先,你需要能够切换生产流量到不同的主机(或主机集群)上。切换可以通过改变DNS条目,或更改负载均衡的配置。你还需要提供足够多的主机,以支持并行运行两个版本的微服务。如果你正在使用一个弹性云提供商,这个要求对你来说可能很简单。使用蓝/绿部署可以降低风险,也让你有能力在遇到问题时尽快恢复。如果做得足够好,整个过程可以完全自动化,在无需人工干预的情况下完整地部署或恢复。
保持旧版本运行,除了给予我们在切换生产流量前可以测试服务这个好处外,还可以大幅度地减少发布软件所需要的停机时间。使用某些生产流量重定向的机制时,我们甚至可以做到在用户无感知的情况下进行版本切换,达到零宕机部署。

标签:服务,部署,主机,可以,切换,测试,设计
From: https://www.cnblogs.com/hellosnow/p/17533234.html

相关文章

  • 痞子衡嵌入式:从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制。我们知道配合MCU一起工作的存储器包含ROM(Flash)和RAM两类,前者主要放RO代码和数据,后者放RW数据。MCU可以没有片内ROM,但是一般都会包含......
  • 20230706巴蜀暑期集训测试总结
    T1我是个大聪明!一眼矩乘。构造转移矩阵构造了3.5h!最开始以为只有\(15\times15\),直接手打。写到一半发现不一定四种颜色都有,是\(52\times52\)的,这时候狗被脑子吃了,还想手打,于是就打到了3h。差不多打了一大半,脑子终于把狗还回来了,意识到就算打完也不可能调得出来,就开始另辟蹊径,......
  • Linux服务器之间进行文件目录映射/挂载-优化
    转自:https://www.cnblogs.com/tanshaoxiaoji/p/linux_nfs.html稍有优化需要实现的功能为:将192.168.10.10服务器下的/home/要映射的目录/,映射为192.168.10.90服务器下的/home/被映射的目录/。1、分别在192.168.10.10、192.168.10.90服务器上安装nfs、rpcbind;yuminst......
  • 国产方德高可信服务器操作系统V4.0的安装
    前言中科方德积极参与欧拉开源社区工作,发布了基于欧拉开源操作系统的方德高可信服务器操作系统V4.0(欧拉版)。此款操作系统可提供高可信支持,为企业级用户提供稳定、高效的软件运行支撑环境,满足系统稳定性、安全性、可靠性等要求,适用于党政军及金融、电信、能源、交通及医疗卫生等各......
  • 学会使用 Postman 环境变量,让接口测试更加高效
    在 Postman 中,用Environments来管理环境变量。我们在开发的过程中,往往会用到多个环境:开发环境,测试环境,UAT环境,生产环境等。我们要调用不同环境的API时,只需切换Postman的Environment即可。下面,我们来具体说下Postman环境变量的使用方法。知识扩展:Postman环境设置介绍......
  • RAT蓝队自动化测试框架
    RAT是根据MITREATT&CK战术矩阵测试蓝队检测能力的脚本框架,由python2.7编写,共有50多种不同ATT&CK技术点和编译好的exe程序,根据蓝队人员需要选择进程注入、持久化等操作。仓库地址https://github.com/endgameinc/RTA/tree/master环境要求Python2.7部分脚本依赖如......
  • 软件测试常用工具总结(测试管理、单元测试、接口测试、自动化测试、性能测试、负载测试
    在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一些测试工具,或者,是在面试时,也会被问到测试工具的,比如,在面试时,最常见的问题便是,你在测试时,用的是什么测试工具?或者......
  • 软件测试面试经验分享(提升竞争力),帮助软件测试工程师们能够顺利的面试通过
    软件测试面试经验分享(提升竞争力)引言在竞争激烈的软件测试行业,顺利通过面试是每个测试工程师的关键目标。面试是评估一个人技能和能力的重要指标,能否在面试中展现出自己的实力往往决定了求职者的去留。本文将分享一些软件测试面试的经验和技巧,帮助测试工程师们提升自己的竞争力......
  • 计算机与服务器之间的关系
    1.计算机1.1计算机的起源历史计算机的历史可以追溯到200多年前。最初由数学家和企业家提出的理论,在19世纪,机械计算机的设计和制造是为了解决日益复杂的数字运算挑战。到20世纪初,技术的进步使计算机变得越来越复杂,计算机变得更大、更强大。今天,计算机几乎无法从19世纪的......
  • 宝塔搭建出现连接不到服务器 搭建宝塔8.0 面板会出现 连接丢失需要重新连接
    搭建宝塔8.0  面板会出现连接丢失需要重新连接碰见这个问题因为宝塔的8.0 镜像换了需要重新执行一下宝塔镜像btpipinstallsimple-websocket==0.10.0&&bt1  执行完成之后出现这个就可以使用面板 ......