【问题标题】:JSON schema validation at DatapowerDatapower 的 JSON 模式验证
【发布时间】:2016-10-31 14:52:17
【问题描述】:

根据我们当前的架构,我们有 Datapower 作为看门人,用于根据 JSON 模式验证每个传入请求(以 JSON 格式)。

我们在 Datapower 本身有很多具有相应 JSON 模式的安静服务。但是,每次服务定义发生变化时,都必须更改相应的模式。这会导致受影响架构的 Datapower 部署。

现在我们计划创建一个 Restful 服务,Datapower 将为每个传入请求调用该服务,它将返回 JSON 模式以供调用的服务,并且该模式将与服务代码本身一起出现,而不是在 Datapower 上。这样,即使服务定义发生任何变化,我们也可以在架构中进行更改并部署服务。它将为我们节省不必要的 Datapower 部署。

有没有更好的方法来验证架构?我想要的不是每次架构更改都部署 Datapower。

仅供参考,我们会经常更改架构。

【问题讨论】:

    标签: jsonschema ibm-datapower


    【解决方案1】:

    保持当前解决方案不变,因为为每个请求引入新的 JSON 模式会影响性能。相反,当您在后端系统中部署架构时,有一个上传新架构的 RMI(REST 管理接口)或 SOMA 调用,或者只是一个 XML 防火墙,您可以在其中添加一个 GWS 脚本,将 json 数据写入目录中的文件(需要 7.5或更高)。

    请注意,您还必须通过调用清理缓存!

    【讨论】:

      【解决方案2】:

      更好的方法是有一些基于订阅更改的推送系统。您可以将模式存储在 etcd、redis、postgres 或任何其他具有数据更改通知通道的系统中,这样您就可以在验证服务中更新模式,而无需对每个请求都进行更新。如果您的验证服务使用将模式编译为代码的验证器(ajv - 我是作者,is-my-json-valid,jsen),如果您只在更改时执行此操作,将会获得更好的性能提升。

      【讨论】:

        猜你喜欢
        • 2011-06-08
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多