2016-10-31 5 views
1

현재 아키텍처에 따라 Datapower는 JSON 스키마에 대한 각 수신 요청 (JSON에서)을 확인하는 게이트 키퍼 역할을합니다.Datapower에서 JSON 스키마 유효성 검사

우리는 Datapower 자체에 상주하는 해당 JSON 스키마가있는 편안한 서비스를 많이 제공합니다. 그러나 서비스 정의가 변경 될 때마다 해당 스키마가 변경되어야합니다. 이로 인해 영향을받는 스키마가 Datapower에 배포됩니다.

들어오는 모든 요청에 ​​대해 Datapower에서 호출 할 수있는 편안한 서비스를 계획하고 있으며 호출 할 서비스에 대한 JSON 스키마를 반환하며 해당 스키마는 Datapower가 아닌 서비스 코드 자체와 함께 제공됩니다 . 그렇게하면 서비스 정의에 변경이있을지라도 스키마 자체를 변경하고 서비스를 배포 할 수 있습니다. 그것은 우리에게 불필요한 Datapower 배치를 저장합니다.

스키마를 확인하는 더 좋은 방법이 있습니까? 모든 스키마 변경에 대해 Datapower를 배치하지 않아도됩니다.

참고로 스키마를 자주 변경합니다.

답변

0

더 나은 방법은 변경 사항에 대한 가입을 기반으로하는 푸시 시스템을 만드는 것입니다. etcd, redis, postgres 또는 데이터 변경에 대한 알림 채널이있는 다른 시스템에 스키마를 저장할 수 있으므로 요청할 때마다 유효성 검사 서비스의 스키마를 업데이트 할 수 있습니다. 유효성 검사 서비스가 코드 작성 스키마 (ajv - 나는 저자, is-my-json-valid, jsen)를 컴파일하는 유효성 검사기를 사용하는 경우 변경시에만 성능 향상을 얻을 수 있습니다.

1

모든 요청에 ​​대해 새로운 JSON 스키마를 가져 오는 것이 현재의 솔루션을 유지하는 것처럼 성능에 영향을줍니다. 대신 백엔드 시스템에 스키마를 배포 할 때 새로운 스키마를 업로드하는 RMI (REST 관리 인터페이스) 또는 SOMA 호출 또는 json 데이터를 디렉토리의 파일에 작성하는 GWS 스크립트를 추가하는 XML 방화벽 (7.5 요구 사항) 또는 더 높게).

통화를 통해 캐시도 정리해야합니다.