Open markdav opened 8 years ago
@markdav I think the necessary interface is already there -- io.confluent.kafka.schemaregistry.storage.Store
is the interface, KafkaStore
is the only "real" implementation currently, and InMemoryStore
is used both in KafkaStore
's implementation and for testing. I think the biggest issues would simply be around configuration and then how we'd handle additional implementations (given the number of options, could be in separate repos and you just have to get the jars on the classpath to instantiate the desired store type). In the core schema registry code, making this pluggable is probably actually a pretty small configuration-focused patch.
The schema registry uses kafka as the schema store, which makes sense as it's geared towards environments with Kafka in-situ. However it seems that versioning of avro schemas as a service is not fundamentally related to kafka but is a problem space in its own right. It might be useful to be able to configure the schema registry against alternative stores in the following situations:
Stores which might be useful to add might include