What are the main components of AWS Kinesis?

Kinesis is a distributed system that is composed of several components. The main components of Kinesis are:
1. Streams: A stream is a group of records that are ingested and processed in real-time by Kinesis. A stream consists of one or more shards, and each shard is an ordered sequence of data records.
2. Shards: A shard is a sequence of records in a stream. It is equivalent to a data partition. Each shard has a specific sequence of records and provides a specific read and write capacity.
3. Producers: Producers are responsible for sending data to a Kinesis stream. Producers can be any application that can send data to an HTTP/HTTPS endpoint.
4. Consumers: Consumers are responsible for reading and processing data from a Kinesis stream. Consumers can be any application that can read data from an HTTP/HTTPS endpoint.