mirror of
https://github.com/adidas/api-guidelines.git
synced 2025-10-25 15:19:19 +00:00
GITBOOK-2: No subject
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Kafka Asynchronous Guidelines
|
||||
|
||||
There are several technologies to implement event-driven architectures, but this section is going to focus on the predominant technology on this subject : Apache Kafka.
|
||||
|
||||
**Apache Kafka** can be considered as a Streaming Platform which relies on the several concepts:
|
||||
|
||||
* Super high-performance, scalable, highly-available cluster of brokers
|
||||
* Availability
|
||||
* Replication of partitions across different brokers
|
||||
* Scalability
|
||||
* Partitions
|
||||
* Ability to re-balance partitions across consumers automatically when adding/removing them
|
||||
* Performance
|
||||
* Partitioned, re-playable log (collection of messages appended sequentially to a file)
|
||||
* Data copied directly from disk buffer to network buffer (zero copy) without even being imported to the JVM
|
||||
* Extreme throughput by using the concept of consumer group
|
||||
* Security
|
||||
* Secure encrypted connections using TLS client certificates
|
||||
* Multi-tenant management through quotas/ACLs
|
||||
* Client APIs on different programming languages : Go, Scala, Python, REST, JAVA, ...
|
||||
* Stream processing APIs like Kafka Streams
|
||||
* Ecosystem of connectors to pull/push data from/to Kafka
|
||||
* Clean-up processes for storage optimization
|
||||
* Retention periods
|
||||
* Compacted topics
|
||||
Reference in New Issue
Block a user