Produce and consume messages
Control the flow of messages
Produce messages with a key/value
Poll or consume new messages
Assign consumer group to partition / topic
Build reliable producer / consumer