nic-chen commented on issue #2700:
URL: https://github.com/apache/apisix/issues/2700#issuecomment-725795019


   > > I think the main logic should be:
   > > When APISIX starts, read the key `/apisix/jsonschema` of ETCD.
   > > If the key does not exist or is empty, then read the JSON schema from 
APISIX and save to the ETCD key `/apisix/jsonschema`.
   > > If the key already exists and is not empty, nothing will be done.
   > > APISIX provides a command line tool that can be used to manually update 
the JSON schema, like: `apisix sync-schema`,
   > > users can use this tool to update JSON schema when needed.
   > > What do you think ?
   > > cc @membphis @moonming @liuxiran @dabue @tokers @ShiningRush
   > 
   > So all schemas are put inside a single JSON string here?
   > 
   > BTW, have you consider the grayscale of APISIX itself? If the new version 
of APISIX has some incompatible changes for some schemas, once the schema is 
synced, all instances which shares the same ETCD cluster will be effected. So 
maybe versioning or other way like naming isolation is required.
   
   Thanks for suggestion, that's really helpful.
   
   So we could use key like `/apisix/jsonschema/$schemaversion` for isolation.
   
   And I think we need to manually maintain the schema version in both APISIX 
and `manager api`.
   
   what do you think ?
   
   
   
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to