我有一个使用 Web 服务的应用程序。应用程序中有一个添加用户功能。当我们指向实时 Web 服务时,添加用户功能可以完美运行,并在我们添加用户时插入到数据库中。现在假设,如果我们使用任何行业标准工具(如(itko lisa、hp sv、ibm sv)来虚拟化添加用户功能,并让我们的应用程序监听虚拟化端口和主机,那么添加用户功能是否会与访问实时服务一样工作。每当我们从 UI 中点击添加用户的请求时。它应该访问虚拟化服务,并且还应该插入数据库。可能吗?。请帮助我,我有点困惑。
3 回答
我看到的模拟模拟服务,但不做实际工作。我不明白模拟插入用户的要求,这是一项实际服务的工作,而不是模拟。如果创建模拟的开销与创建服务的开销相同,那么有些地方是不对的。
答案取决于您想要实现的目标。服务虚拟化可以出于不同的原因而存在。
如果您添加虚拟服务以便能够在没有实时服务可用性的情况下进行测试,那么您实际上不需要数据库插入。它违背了虚拟服务代表实时服务的目的。
如果您想要实现的是验证更改:我知道的一些行业标准产品也能够作为虚拟服务仍然会将请求转发到实时服务,这意味着它在没有虚拟服务的情况下仍然表现完全相同。当您想要长时间记录实际的实时服务交互时,通常会这样做,例如回归最近 90 天的交易。
还有一些需要有状态功能的虚拟服务(插入数据库就是其中之一),可能会被用来模拟真实的实时系统,该系统太昂贵而无法在您的测试或培训环境中使用,我知道有一些解决方案用我知道的产品围绕它。这可能是你想要探索的。
免责声明:我为行业标准工具公司之一工作。我在这里的观点仅代表我的个人观点,并不代表我工作的公司的观点。
以我的经验,在 API 和后端之间的虚拟服务概念下,只有服务响应可以被虚拟化。由于涉及成本,数据库更新不可行。
一种可能的实现方式是创建另一个数据库实例并将其指向虚拟响应并像在生产中那样执行数据库更改。这需要另一个昂贵的基础设施设置。