0
votes

I'm settings up a schema registry server for kafka. I've used confluent schema registry and all was well but then I saw, that you can with less hassle set up a default, spring one. So I did but I was a bit surprised, it seems harder to control the schema, it does weird things with naming (EntityCamelCase to entitycamelcase), no separation for x-value and x-key as confluent did. Version of schema are bumped automatically and I don't even know what the compatibility mode is set.

So I wanted to find out something more but I really can't find anything about this spring schema registry server. There seem to be no properties to set available, nothing really.

https://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_schema_registry_server

I tried to find out something in documentation but it doesn't seem to help either.

So, the question that I have and I can't find an answer to, what are the differences between confluent and spring schema registry server. Is there any source online to read about latter?

Thanks!

1

1 Answers

0
votes

The schema registry server uses a relational database to store the schemas.

So, this is extra infrastructure, I don't know if I would consider that "less hassle"

By default, it uses an embedded database

Having the embedded one kinda defeats the purpose of having a Registry - you cannot share your schemas with external consumers, and when your app restarts, the embedded registry stops as well, which would cause your schema versions to change inconsistently over time.


That's the immeadiate differences, but looking at the API calls, think it just stores schemas by version. There is no "compatibility checking"