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
48
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
71
Die Flucht aus der Prototypen-Hölle
nbyl
0
65
Lean Prototyping for Industrial-IoT Projects
nbyl
0
87
DevSecOps - Vom Unikum zur gut geölten Maschine
nbyl
0
130
Securing your software supply chain
nbyl
0
410
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
350
Kubernetes - Auf die Cluster, Fertig, Los!
nbyl
0
230
Other Decks in Technology
See All in Technology
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
430
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
140
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
570
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
継続的なAIコスト最適化
bgpat
1
330
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
5
4.8k
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
Metadata - Section 1: HTML Basics
mohab1
0
110
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
540
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
210k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Navigating Weather and Climate Data
rabernat
0
550
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Navigating Team Friction
lara
192
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Speed Design
sergeychernyshev
33
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Technical Leadership for Architectural Decision Making
baasie
3
600
Code Reviewing Like a Champion
maltzj
529
40k
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