...
Public Interfaces
The KIP proposes add adding flexibility to how MM2 manage Kafka resources.
...
Adding a new interface called KafkaResourceManager ("the original proposal") that defines how MM2 will create, modify, and list any Kafka topics and ACLs. MirrorMaker2’s original behaviour will be kept in DefaultResourceManager.
The implemented class can be overridden using the following configurations.
resource.manager.class
default value will be set toDefaultResourceManager
- or can be configured based on cluster aliases using
<cluster_alias>.resource.manager.class
- Allow MM2 to load different implementation of Admin interface
...
- The Admin interface has 86 methods, and MM2 depends on 13 of them; this means any custom implementation of the Admin interface will be humongous. The user will need to return "NotImplementedException" for 73 methods that MM2 does not use.
- MM2 interactions with AdminClient is not listed in one place, so it's bit hard to list what interfaces you need to implement to MM2.
- Keeping up with the AdminClient interface which is enormous.
Proposed Changes
There're 2 potential solutions under discussion now:
1. Add new interface for MM2 to manage resources KafkaResourceManager
...