Go for Real Time Streaming Architectures - DotGo 2017
-
Upload
mickael-remond -
Category
Technology
-
view
901 -
download
2
Transcript of Go for Real Time Streaming Architectures - DotGo 2017
Go for Real Time Streaming Architectures
What are Streaming Architectures ?
Events
Events
≠ Shared States
Pipelines
DataAppChannel Channel
Data App Data …
Reactive Architecture
Microservices
Traditional Design
Central Realtime Engine
App
App
App
Publishers
KafkaEvents
Processing Frameworks
Processing Frameworks
App
App
App
Publishers
KafkaEvents
Streaming engine / frameworks:
Consumers
App
App
- Spark Streaming- Flink- Kafka Streams- Akka Streams- …
The cloud-native way
The cloud-native way
‣Standalone Go application ‣ Kafka ‣ Sarama
The cloud-native way
‣Sarama Cluster
The cloud-native way
‣Protobuf
The cloud-native way
‣Nats
The cloud-native way
‣ Docker ‣Kubernetes
The cloud-native way
App
App
App
Publishers
KafkaEvents
Consumers
App
App
Events
Benefits
‣ Simple / manageable code
Benefits
‣ Simple / manageable code
‣ Performance
Benefits
‣ Simple / manageable code
‣ Performance
‣ Easily scalable
Go is a modern tool to build cloud-native, high-performance, realtime streaming applications
Mickaël Rémond — @mickael