- The Pulsar Schema Registry, built into every broker. Schemas are stored per topic and managed with Pulsar tooling.
- The Kafka Schema Registry, available when the Kafka protocol is enabled on the cluster. It’s compatible with the Confluent Schema Registry API, stores schemas per subject, and is what Kafka clients expect.
A native Kafka cluster has only the Kafka Schema Registry. Everything below about choosing between
registries applies to Pulsar clusters. See
Kafka Schema Registry for the Kafka cluster documentation.
Compare the options
This leaves you three ways to attach schemas to data on a Pulsar cluster.Pick this if
Use the Pulsar Schema Registry when your producers and consumers are all Pulsar clients and you have no need to share schemas with Kafka applications. It requires no extra service, no extra endpoint, and no extra credentials—the schema travels with the topic. It also supports schema types the Kafka registry has no equivalent for, includingKeyValue and the primitive types.
Use the Kafka Schema Registry when your applications are Kafka clients. Standard Confluent
serializers and deserializers work unchanged, so an application written against another
Confluent-compatible registry can point at StreamNative Cloud without code changes.
Use the Kafka Schema Registry from Pulsar clients when both protocols read the same topic—for
example, a Kafka application produces the data and a Pulsar application consumes it. The
External Schemas library gives you a
Pulsar Schema implementation backed by the Kafka serializers, so you keep the familiar Pulsar
Producer and Consumer APIs while schemas resolve from the Kafka Schema Registry.
Next steps
Pulsar Schema Registry
Concepts, schema types, compatibility, and management.
Kafka Schema Registry
Enable it on a Pulsar cluster and connect your clients.
Use Kafka schemas from Pulsar clients
Produce and consume Kafka-schematized data with the Pulsar APIs.
Replicate schemas
Set up active-standby Schema Registry replication.