Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Data Streaming für Cloud Natives
Search
Nicolas Byl
May 04, 2017
Technology
44
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Data Streaming für Cloud Natives
Nicolas Byl
May 04, 2017
More Decks by Nicolas Byl
See All by Nicolas Byl
Platform Engineering ❤️ Developer Experience
nbyl
0
67
Die Flucht aus der Prototypen-Hölle
nbyl
0
62
Lean Prototyping for Industrial-IoT Projects
nbyl
0
77
DevSecOps - Vom Unikum zur gut geölten Maschine
nbyl
0
130
Securing your software supply chain
nbyl
0
400
Keeping-Up-WithUpstream.pdf
nbyl
0
200
Dr. Kube und der Helm - Anatomie einer CD-Pipeline
nbyl
0
160
Securing the "other" supply chain
nbyl
0
340
Kubernetes - Auf die Cluster, Fertig, Los!
nbyl
0
220
Other Decks in Technology
See All in Technology
What the customer really needed
kawaguti
PRO
3
210
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
270
事業課題から技術的負債に向き合う
sansantech
PRO
2
2k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
おい、エージェントを使って終わらせろ
nwiizo
2
720
AI de Idea
kawaguti
PRO
2
130
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
120
絵ではじめるKubernetesセキュリティ
aoi1
4
680
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1k
SREへの勘違いに気づいた後の話
tomodakengo
0
110
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Writing Fast Ruby
sferik
630
63k
Fireside Chat
paigeccino
43
4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
Believing is Seeing
oripsolob
1
220
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Building Applications with DynamoDB
mza
96
7.2k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Transcript
1 DATA STREAMING FÜR CLOUD NATIVES building IoT 2017 Nicolas
Byl, codecentric AG
2 . 1 Stream Processing, anyone?
2 . 2 Spring Cloud Dataflow
3 . 1 PROCESSING MODELL
3 . 2 Streams kleinste Einheit von Spring Cloud Dataflow
Verarbeitungsstrecke
3 . 3 Stream Struktur Source als Datenquelle Multiple Processor
Instanzen für nachfolgende Verarbeitungsschritte Sink als Ende der Verarbeitungskette
None
3 . 4 3 . 5 Verarbeitung Jeder Instanz der
Verarbeitungskette ist eine Spring Boot Applikation Pufferung zwischen Verarbeitungsschritten in Queue Pull Mechanismus für nächste Datensatz
3 . 6 Queueing
4 . 1 ARCHITEKTUR
None
4 . 2 4 . 3 Building Blocks Spring Boot
Spring Integration Spring Batch
4 . 4 Deployables Spring Boot Applikationen Spring Cloud Stream
Starters Spring Cloud Stream Spring Cloud Task
4 . 5 Deployer Spring Cloud Deployer - SPI
4 . 6 Interfaces Command Line Interface Dashboard Flo Editor
REST
5 . 1 BUILDING STREAMS
5 . 2 Command Line Interface Definition und Management der
vorhandenen Streams DSL zur Verkettung von Applikation mittels |
5 . 3 Beispiel 1: Ticktack stream create --name ticktock
--definition "time | log" --deploy
5 . 4 Beispiel 2: HTTP-Request stream create --name test
--definition "http | log" stream deploy test --properties "app.http.spring.cloud.deployer.kubernetes.c http post --target http://<IP>:8080 --data "Hello"
5 . 5 Grafischer Editor
6 . 1 CUSTOM APPLICATIONS
6 . 2 Programmiermodell - Spring Cloud Stream Source, Sink
& Processor sind normale Spring Beans Kopplung an Spring Integration Binding an den jeweiligen Typen Abstraktion des Queueing Providers durch das Framework
6 . 3 Beispiel 1: Direkte Bearbeitung in der Beans
@EnableBinding(Processor.class) public class TransformProcessor { @Autowired VotingService votingService; @StreamListener(Processor.INPUT) @SendTo(Processor.OUTPUT) public VoteResult handle(Vote vote) { return votingService.record(vote); } }
6 . 4 Beispiel 2: Spring Integration als Source @EnableBinding(Source.class)
public class TimerSource { @Value("${format}") private String format; @Bean @InboundChannelAdapter(value = Source.OUTPUT, poller = @Poller(fixedDelay public MessageSource<String> timerMessageSource() { return () -> new GenericMessage<>(new SimpleDateFormat(format).format( } }
6 . 5 Beispiel 3: Reative Processor @EnableRxJavaProcessor public class
RxJavaTransformer { private static Logger logger = LoggerFactory.getLogger(RxJavaTransformer @Bean public RxJavaProcessor<String,String> processor() { return inputStream -> inputStream.map(data -> { logger.info("Got data = " + data); return data; }) .buffer(5) .map(data -> String.valueOf(avg(data))); } [...] }
7 . 1 BEISPIELE
7 . 2 Beispiel 3: Twitter Analyse stream create --name
twitter-demo --definition "twitterstream --twitter.credentials.consumer-key=<...> [..] | field-value-counter --field-value-counter.fieldName=entities.hashtags.text --field-value-counter.name=hashtags"
8 . 1 ZUSAMMENFASSUNG
8 . 2 Andere Anwendungen Analytics Monitoring CRM ...
8 . 3 The End Copyright 2017