Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Data Streaming für Cloud Natives
Search
Nicolas Byl
May 04, 2017
Technology
42
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
57
Die Flucht aus der Prototypen-Hölle
nbyl
0
57
Lean Prototyping for Industrial-IoT Projects
nbyl
0
76
DevSecOps - Vom Unikum zur gut geölten Maschine
nbyl
0
120
Securing your software supply chain
nbyl
0
400
Keeping-Up-WithUpstream.pdf
nbyl
0
190
Dr. Kube und der Helm - Anatomie einer CD-Pipeline
nbyl
0
150
Securing the "other" supply chain
nbyl
0
320
Kubernetes - Auf die Cluster, Fertig, Los!
nbyl
0
220
Other Decks in Technology
See All in Technology
初めてのDatabricks勉強会
taka_aki
2
240
スタートアップにおけるアジャイルの実践について #shibuyagile
murabayashi
3
2.1k
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
300
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
150
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
2.6k
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
390
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
150
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
750
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8.1k
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
3.8k
知らん間に、回ってる
ming_ayami
0
330
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
1.9k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Side Projects
sachag
455
43k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Building Adaptive Systems
keathley
44
3.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Site-Speed That Sticks
csswizardry
13
1.2k
Building the Perfect Custom Keyboard
takai
2
810
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
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