---
title: Spring Cloud Data Flow の紹介 #streamctjp
tags:  #streamctjp  
author: [Yahoo!デベロッパーネットワーク](https://www.docswell.com/user/ydnjp)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YJ9YY54873.jpg?width=480
description: https://connpass.com/event/61546/
published: July 28, 17
canonical: https://www.docswell.com/s/ydnjp/5N847K-2017-07-28-143529
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YJ9YY54873.jpg)

Spring Cloud Data Flow の紹介
ヤフー株式会社 浅沼 孝信
2017年7月27日
http://www.yahoo.co.jp/


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GJ866YQZED.jpg)

自己紹介
• 名前
• 浅沼 孝信
• 業務履歴
• 2012年新卒入社
• Hadoop周りの業務（HDFS ECの開発など）
• 最近はデータフロー
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LJL994X17R.jpg)

目次
•
•
•
•
Spring Cloud Data Flow とは
開発された動機
ステート管理
まとめ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/47MZZKL5JW.jpg)

目次
•
•
•
•
Spring Cloud Data Flow とは
開発された動機
ステート管理
まとめ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/P7R66XKZE9.jpg)

Spring Cloud Data Flow とは
• ストリーム処理とバッチ処理に関する
Springアプリケーションの統合デプロイメント
Spring Cloud Data Flow
deploy
Streaming
Spring Cloud Stream
Spring Cloud Task
use
use
Spring
Integration
Batch
Spring Boot
Spring Batch
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PJXMM6L1EX.jpg)

Spring Cloud Data Flow とは
• データフローの作成
- Web UI
- UNIXプログラミング風のDSL（シェル）
http --port=12345 | filter | hdfs
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/3JKGG1LM7D.jpg)

Spring Cloud Data Flow とは
• データフローの作成
- Web UI
- UNIXプログラミング風のDSL（シェル）
http --port=12345 | filter | hdfs
各プロセスはSpring Bootアプリケーションとして起動
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LE3NNQ32E5.jpg)

Spring Cloud Data Flow とは
• デプロイメント
さまざまなモダンなプラットフォームに対する
SPI実装が用意されている
-
Cloud Foundry
Kubernetes
YARN
Mesos
local（開発用）
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/8EDWW9467G.jpg)

Spring Cloud Data Flow とは
Web UI
Shell
REST-API
RDBMS
SCDF
Server
Data
Source
Deployer SPI
deploy
Data
Source
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/V7P99ZVZJ8.jpg)

目次
•
•
•
•
Spring Cloud Data Flow とは
開発された動機
ステート管理
まとめ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/2JVMMWZMJQ.jpg)

開発された動機
Spring XD
XD Admin
XD Container
M
M
Spring Cloud Data Flow
SCDF
Server
ZooKeeper
REST-API
Deployer SPI
XD Container
M
M
• Spring Cloud Data Flowの前身
• 普通のサーバー上で動く
• モノリシックな設計
•
•
•
•
Spring XDの課題を踏まえて再設計
マイクロサービスの思想
コンテナプラットフォームに最適化
2016年7月に1.0 GAがリリース
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/5EGGGD4XEL.jpg)

目次
•
•
•
•
Spring Cloud Data Flow とは
開発された動機
ステート管理
まとめ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4JQXX1G5EP.jpg)

ステート管理
• The Twelve-Factor App
– Herokuの中の人たちが作成
– クラウドネイティブなアプリケーションを
作るのに必要な規則・指針
VI. プロセス
アプリケーションを1つもしくは複数の
ステートレスなプロセスとして実行する
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/K7466R5VE1.jpg)

ステート管理
• Spring Cloud Data Flowが生成するSpring Bootは
ステートレスなアプリケーション
REST-API
RDBMS
SCDF
Server
Deployer SPI
deploy
Stateless
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LJ1VVQW4EG.jpg)

ステート管理
• ステートが発生する部分はコンテナプラットフォームの
外で管理する
データフローの解析
REST-API
RDBMS
SCDF
Server
Deployer SPI
deploy
Stateless
データフローの定義など
Stateful
Spring Boot間のメッセージング
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJWLLM6ZE2.jpg)

目次
•
•
•
•
Spring Cloud Data Flow とは
開発された動機
ステート管理
まとめ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4EZMMQYLJ3.jpg)

まとめ
• Spring Cloud Data Flow とは
ストリーム処理とバッチ処理の統合デプロイメント
• マイクロサービスの思想でSpring XDを再設計
クラウドネイティブなプラットフォームに最適化されている
• コンテナプラットフォームの中では
ステートレスなアプリケーションが稼働している
ステートが発生する部分は外で管理する
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
17


