No parallelism | Consumer groups are enforced. Therefore, there will be no possibility to consume multiple copies of the stream in parallel. Additionally, the processing order is only guaranteed within each of the topic partitions. We do not guarantee global ordering on the stream. ExampleCustomer A has 3 consumers C1, C2, and C3. If no consumer group is enforced, C1, C2, and C3 would receive each a copy of the items on the stream, that would cause our network to become saturated very quickly. In order not to allow disruption to other core services, a consumer group is enforced. Let’s call it G1. We will enforce consumers C1, C2, and C3 to be members of the G1 group. This way, the consumers will balance the load when consuming from a particular topic (if the topic has 3 partitions, each of them will consume one of the partitions). Kafka allows imposing authorization restrictions based on ACLs by providing a consumer group. Therefore, if customer A, in this case, tries to consume from the topic without configuring the consumer as member of the consumer group, Kafka will reject the connection. |
Consumer/ Client | This limitation is not specific to the Data Streams product however, it is worth noting that only Java Consumer is supported. Although Kafka consumer clients are available in many languages and can be used, the officially supported client library by Apache Kafka is Java, therefore that is why we are only supporting Java client. |