Hi,
as a user I find this concept interesting, but not important enough. I just
want to share my personal thoughts, potentially leaning myself somewhat out of
the window, that came to my mind during reading:
- I think it is of utmost importance for the Kafka project to continue the good
work on easing and really securing the upgrading of the broker version via
rolling upgrade. It is really cool for users when they can rely on that,
allowing for continuous tech refresh, even on brokers with really large and/or
really many partitions. I would always prefer this to stay in front.
- Secondly, I, as most users, like a clear, easy to understand, yet powerful
API contract together with producer/consumer configuration, including also
aspects such as load-balancing and availability (consumer groups and
alternative solutions via external partitioning and schedulers/supervisors
respectively etc.).
- Third, I find it important for the Kafka community to continue support for
Scala-based APIs on the client side with the same devotion as seen in the
support for the Java-based Kafka Streams API.
- Fourth, I need production readiness features.
Only after all these, I would look at a possibility to use a new client
together with an old broker. Even though the concept seems to be sound on first
read, I am somewhat afraid of the additional complexity, resulting
complications and thus additional work for people. Think of database drivers.
It can potentially become really complicated to support feature handshaking.
Also, runtime exceptions that could have been avoided by a clear and simple
policy would not be appealing. I really wonder if there are actually enough
users who would need the ability to use a newer client with an older broker, to
justify the increase in complexity.
I would agree however if someone said that it should better be possible to use
two different client versions within one JVM, in order to talk to several
brokers of different versions, which could become easier to achieve at the
client side under Java 9 (Jigsaw).
Kind Regards
Sven