小结:预发布测试时如何隔离生产环境的应用

对系统进行预发布测试时,应该保证不会触碰到生产环境中系统的应用,否则你测的对象就不是预发服务器了。

1.用浏览器访问预发web应用:

  通过改写浏览器端hosts,把正式域名指向预发服务器。

2.一个预发系统以RPC方式调用另一个预发系统:

  如果有注册中心、有服务发现机制,则可以让RPC服务提供者以特殊的版本号在预发环境发布,服务使用者在预发环境用这个版本号访问它。

  如果没有服务发现机制,就把服务提供者的预发环境IP告诉服务使用者

3.一个预发系统发异步消息给另一个预发系统:

  预发系统搭建自己的消息中间件服务器

 

4.期望测试时造的数据只被预发的task (如quartz) 访问到

 

  这个比较难,因为预发系统和生产环境一般共享同一套数据库,预发环境造的数据也会被生产环境的task访问到。这时一般要在表里为预发用的数据专门开设一个标志位字段,如果有多张表,可能每张表都需要这样的字段;再在应用代码里判断当前数据是否是预发数据;这种做法很繁琐,而且直接侵入了系统。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.