Schema Registry Component Architecture
The below diagram represents the component architecture of Schema Registry.
Schema Registry has three main components:
-
Registry web server – Web Application exposing the REST endpoints you can use to manage schema entities. You can use a web proxy and load balancer with multiple Web Servers to provide HA and scalability.
-
Pluggable storage – Schema Registry uses the following two types of storages:
-
Schema Metadata Storage – Relational store that holds the metadata for the schema entities. Inn-memory storage (for development purposes) and mySQL databases are supported.
-
Serdes Storage – File storage for the serializer and deserializer jars. Local file system and HDFS storage are supported. Local file system storage is the default.
-
-
Schema Registry Client – A java client that components can use to interact with the RESTful services.
-
Custom NiFi Processors – New processors and controller services in NiFi that interact with the Schema Registry.
-
Kafka Serializer and Deserializer – A Kafka serializer and deserializer that uses Schema Registry. The Kafka serdes can be found on GitHub.