SlideShare a Scribd company logo
1 of 19
Download to read offline
© 2019 NTT DATA Corporation
どうなる Spring Cloud Netflix !!
2019/6/24 日本Springユーザ会主催 Spring I/O 2019 報告会
株式会社NTTデータ システム技術本部 細井 貴史
© 2019 NTT DATA Corporation 2
自己紹介
・ 名前: 細井 貴史 (ほそい たかし)
・ 所属: 株式会社NTTデータ システム技術部
インテグレーション技術センタ
(旧ソフトウェア工学推進センタ)
・ その他あれこれ:
- 法人向けのSI事業部出身 (現所属の横断組織に異動)
- Springベースのグループ共通フレームワークの整備を担当
- Spring I/Oへの参加は初
© 2019 NTT DATA Corporation 3
はじめに
© 2019 NTT DATA Corporation 4
Netflix社が提供するマイクロサービス開発の一端を担う
OSSプロダクト達を扱っている。
Spring Cloud Netflix とは?
・ Spring Cloud Netflix Eureka Client
・ Spring Cloud Netflix Eureka Server
・ Spring Cloud Netflix Archaius
・ Spring Cloud Netflix Ribbon
・ Spring Cloud Netflix Zuul
・ Spring Cloud Netflix Hystrix
・ Spring Cloud Netflix Hystrix Dashboard
・ Spring Cloud Netflix Hystrix Stream
・ Spring Cloud Netflix Turbine
・ Spring Cloud Netflix Turbine Stream
© 2019 NTT DATA Corporation 5
Spring Cloud Netflix がどうなる?
・ Spring Cloud Netflix Eureka Client
・ Spring Cloud Netflix Eureka Server
・ Spring Cloud Netflix Archaius
・ Spring Cloud Netflix Ribbon
・ Spring Cloud Netflix Zuul
・ Spring Cloud Netflix Hystrix
・ Spring Cloud Netflix Hystrix Dashboard
・ Spring Cloud Netflix Hystrix Stream
・ Spring Cloud Netflix Turbine
・ Spring Cloud Netflix Turbine Stream
メンテナンスモードになることがアナウンスされた。
(脆弱性・バグ対応と必要に応じてPull Request対応する。)
© 2019 NTT DATA Corporation 6
アプリはそのままでもよいの?
メンテナンスモードとなっているプロダクトは、Greenwichで最後になる可能性が高い。
(要するに、GreenwichがEOLするとサポートされなくなる。)
サポートが必要なら移行するしかない!
(移行にも時間がかかるので早めの準備が大切になる。)
Hoxtonとは?
Spring Cloud における Greenwich の次のリリーストレインとなる。
今回の移行パスとして新たに紹介するライブラリがproduction readyな状態で含まれる予定である。
出典: Spring Cloud (GitHub)
<https://github.com/spring-cloud/spring-cloud-release/milestone/68>
© 2019 NTT DATA Corporation 7
次ページ以降は提供されているデモアプリをベースに紹介していきます。
デモアプリ
出典: Spring Cloud Netflix Demo <https://github.com/OlgaMaciaszek/spring-cloud-netflix-demo>
デモアプリのuser-service/pom.xmlの
<repository>の設定に誤りがある。
以下の移行パスは示されたが、デモアプリでは提供されていなかったので説明はオリジナルである。注意事項②:
Spring Cloud Netflix Archaius Spring Cloud Config Server
Spring Cloud Netflix Hystrix Stream
+ Spring Cloud Netflix Turbine
+ Spring Cloud Netflix Hystrix Dashboard
Micrometer + Prometheus
注意事項①:
Spring I/O 2019の登壇者
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/libs-snapshot-local</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
一部にSNAPSHOTのリポジトリ
を参照する必要があった。
© 2019 NTT DATA Corporation 8
Client-side Load Balancing
により振り分ける。
Client-side Load Balancing
により振り分ける。
マイクロサービスの基本構成
(デモアプリの範囲)
Micro Service
Micro Service
Micro Service
API Gateway
SCN Zuul
Micro Service
External Config
SCN Archaius
Monitoring
SCN Turbine
Discovery&Registry
Server
SCN Eureka Server
SCN Histrix Dashboard
SCN Eureka Client
SCN Ribbon Client
SCN Eureka Client
SCN Ribbon Client
SCN Histrix
SCN Histrix
Micro Service
SCN Eureka Client
SCN Ribbon Client
SCN Histrix
Micro Service
SCN Eureka Client
SCN Ribbon Client
SCN Histrix
リトライ上限等の条件判断により
fallback処理が実行される。
エラー率等の条件判断により
サーキットがオープンされている。
共通系
サーキットがクローズされている。
© 2019 NTT DATA Corporation 9
Spring Cloud Netflix Ribbon Spring Cloud Load Balancer
※ pom.xmlの修正も忘れずに!
アノテーションを切り替えるだけでよい。
マイクロサービス インスタンス向け マイクロサービス インスタンス向け
ReactiveなWebClientにも対応できる。
Spring Cloud Netflix Eureka Spring Cloud Zookeeper???
セッションの中で Spring Cloud Netflix Eureka は今回のメンテナンスモードの対象ではないが、
Spring Cloud Zookeeperへスムーズな移行ができるようにならないかを検討していると余談があった。
(上記の Spring Cloud Netflix Ribbon から Spring Cloud Load Balancer への移行のようなスムーズさ)
© 2019 NTT DATA Corporation 10
Spring Cloud Netflix Zuul Spring Cloud Gateway
※ pom.xmlの修正も忘れずに!
Spring Cloud Netflix Zuul インスタンス向け Spring Cloud Gateway インスタンス向け
@がなくなる。
Javaでもルートを実装できる。
なお、Spring Cloud Netflix Zuul では暗黙的にルートを検出することもできたが、
セキュリティ上の問題もあり、Spring Cloud Gateway では明示的にルートを定義させる。
© 2019 NTT DATA Corporation 11
Yamlでもルートを設定できる。
Spring Cloud Netflix Zuul Spring Cloud Gateway
Spring Cloud Netflix Zuul インスタンス向け Spring Cloud Gateway インスタンス向け
※ pom.xmlの修正も忘れずに!
© 2019 NTT DATA Corporation 12
Spring Cloud Netflix Hystrix Spring Cloud Circuit Breaker
+ Resilience4J
マイクロサービス インスタンス向け マイクロサービス インスタンス向け
Resilience4Jのプロパティを設定している
※ pom.xmlの修正も忘れずに!
出典: Spring Blog
<https://spring.io/blog/2019/04/16/introducing -spring-cloud-circuit-breaker>
様々なサーキットブレーカに対応している
抽象化クラスのライブラリである
Spring Cloud Circuit Breakerとは?
@がなくなる。
© 2019 NTT DATA Corporation 13
Spring Cloud Netflix Hystrix Spring Cloud Circuit Breaker
+ Resilience4J
マイクロサービス インスタンス向け マイクロサービス インスタンス向け
※ pom.xmlの修正も忘れずに!
@HystrixCommandとfallback時の実行メソッドだけで済んでいたが、
TimerとCircuitBreakerオブジェクトを用意して、Timerの記録中に
CircuitBreaker経由で処理を実行することが必要となった。
またfallback時の挙動として、処理中の例外が発生した場合には
fallback時の実行メソッドを呼び出すことが必要となった。
© 2019 NTT DATA Corporation 14
マイクロサービス インスタンス向け
(Histrix Stream)
Spring Cloud Netflix Hystrix Stream
+ Spring Cloud Netflix Turbine
+ Spring Cloud Netflix Hystrix Dashboard
Micrometer + Prometheus
Turbine + Hystrix Dashboardインスタンス向け
マイクロサービス インスタンス向け
(Micrometer)
※ 各システムが利用している
監視ツールに統合させる。
Micrometerはmetrics情報を収集し、
監視ツールにエンドポイントを提供する。
なお、Prometheusの説明は割愛する。
※ pom.xmlの修正も忘れずに!
出典: Spring Boot Guide
<https://docs.spring.io/spring-
boot/docs/current/reference/htmlsingle/#
production-ready-metrics>
Amazon
CloudWatch
等でもできる。
© 2019 NTT DATA Corporation 15
Spring Cloud Netflix Archaius Spring Cloud Config Server
※ 各マイクロサービスにプロパティ
を配布して起動時にロードさせる。
※ 各マイクロサービスがプロパティ値を取得
するためのエンドポイントを提供する。
マイクロサービス インスタンス向け
(Spring Cloud Config Client)
Spring Cloud Config Server インスタンス向け
Spring Cloud Netflix Archaius インスタンス向け
Spring Boot 起動時に指定先から
指定プロファイルのプロパティを取得する。
-Dspring.profiles.active=”dev”等で
bootstrap.ymlの定義を切り替えができる。
プロパティの格納先を指定する。
インスタンスを起動する。
どうしてもSpring Cloud Netflix Archaiusと同様に利用したい場合は、
Spring Cloud Config Serverのインスタンス上にアプリを作成もできる。
(プロパティを読み込み、そのプロパティをレスポンスとして返すアプリ等)
※ pom.xmlの修正も忘れずに!
© 2019 NTT DATA Corporation 16
・ SCN Ribbon ☞ SC Load Balancer (2.1.2.RELEASE)
・ SCN Zuul ☞ SC Gateway (2.1.2.RELEASE)
・ SCN Hystrix ☞ SC Circuit Breaker (0.0.1.BUILD-SNAPSHOT)
・ SCN Turbine ☞ Micrometer (1.1.5.RELEASE)
・ SCN Archaius ☞ SC Config Server (2.1.3.RELEASE)
移行パスになるPivotal製品のリリース状況は?
2019/06/24現在
© 2019 NTT DATA Corporation 17
マイクロサービス開発の一端を担うプロダクトは
群雄割拠、まさに戦国時代・・・
Netflixココ
出典: CNCF Landscape <https://landscape.cncf.io/images/landscape.pdf>
© 2019 NTT DATA Corporation 18
今後の動向にご注目ください。
© 2019 NTT DATA Corporation

More Related Content

What's hot

Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Takuya Iwatsuka
 
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会tomohiro kato
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことbitbank, Inc. Tokyo, Japan
 
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話和也 大木
 
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜LeapMind Inc
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
NewRelic x Terraform Cloud で Observability as Code
NewRelic x Terraform Cloud で Observability as CodeNewRelic x Terraform Cloud で Observability as Code
NewRelic x Terraform Cloud で Observability as CodeShogo Katsurada
 
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform CloudWataru Unno
 
Nutanix Meetup 22.01 Wataru Unno
Nutanix Meetup 22.01 Wataru UnnoNutanix Meetup 22.01 Wataru Unno
Nutanix Meetup 22.01 Wataru UnnoWataru Unno
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Atsushi Nakamura
 
20180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.1
20180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.120180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.1
20180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.1LeapMind Inc
 
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseChihiro Ito
 
Provisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with TerraformProvisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with TerraformWataru Unno
 
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservicesNobuhiro Sue
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向NTT Software Innovation Center
 

What's hot (20)

Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
 
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
Efficient Neural Architecture Search via Parameters Sharing @ ICML2018読み会
 
AutoTVM紹介
AutoTVM紹介AutoTVM紹介
AutoTVM紹介
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
 
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
 
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
NewRelic x Terraform Cloud で Observability as Code
NewRelic x Terraform Cloud で Observability as CodeNewRelic x Terraform Cloud で Observability as Code
NewRelic x Terraform Cloud で Observability as Code
 
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
 
Nutanix Meetup 22.01 Wataru Unno
Nutanix Meetup 22.01 Wataru UnnoNutanix Meetup 22.01 Wataru Unno
Nutanix Meetup 22.01 Wataru Unno
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
 
20180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.1
20180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.120180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.1
20180831 [DeLTA TECH] DeLTA-FamilyによるIndustry4.1
 
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
Quarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
 
Provisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with TerraformProvisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with Terraform
 
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservices
 
これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 

Similar to What happens in Spring Cloud Netflix

Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataNTT DATA Technology & Innovation
 
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイNobuyuki Matsui
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)Masanori KAMAYAMA
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...NTT DATA Technology & Innovation
 
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力![DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!オラクルエンジニア通信
 
Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)CLOUDIAN KK
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドMasanori Itoh
 
Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015Ken Ojiri
 
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用apkiban
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)NTT DATA Technology & Innovation
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 
20191015 oracle beyondstudy
20191015 oracle beyondstudy20191015 oracle beyondstudy
20191015 oracle beyondstudyMai Nagahisa
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonightAmazon Web Services Japan
 
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術Tech Circle
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築Tomo-o Kubo
 

Similar to What happens in Spring Cloud Netflix (20)

Swift losf
Swift losfSwift losf
Swift losf
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
 
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
【AWS Night in ITHD】AWSとのSoftLayerで仮想ネットワークオーバーレイ
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
 
インフラチームの歴史とこれから
インフラチームの歴史とこれからインフラチームの歴史とこれから
インフラチームの歴史とこれから
 
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
 
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力![DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
[DevSumi2019]Cloud Native アプリケーションに最適!Oracle Cloud Infrastructureの魅力!
 
Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)Cloudianと連携するCloudStack (Cloudian Summit 2012)
Cloudianと連携するCloudStack (Cloudian Summit 2012)
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015Cloud Foundryの件について@OpenStack Days Tokyo 2015
Cloud Foundryの件について@OpenStack Days Tokyo 2015
 
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
 
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
Spark+AI Summit Europe 2019 セッションハイライト(Spark Meetup Tokyo #2 講演資料)
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 
20191015 oracle beyondstudy
20191015 oracle beyondstudy20191015 oracle beyondstudy
20191015 oracle beyondstudy
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
 
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
"Global Distcloud File System" ~インタークラウド広域分散ファイルシステム 大陸間横断ライブマイグレーションを実現する技術
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 

More from apkiban

Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くapkiban
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告apkiban
 
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとはapkiban
 
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 apkiban
 
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO PlatformTERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platformapkiban
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~apkiban
 
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~apkiban
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つapkiban
 
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるSpring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるapkiban
 

More from apkiban (9)

Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗くSpring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
 
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは
 
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
 
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO PlatformTERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platform
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
 
バッチは地味だが役に立つ
バッチは地味だが役に立つバッチは地味だが役に立つ
バッチは地味だが役に立つ
 
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わるSpring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
 

What happens in Spring Cloud Netflix

  • 1. © 2019 NTT DATA Corporation どうなる Spring Cloud Netflix !! 2019/6/24 日本Springユーザ会主催 Spring I/O 2019 報告会 株式会社NTTデータ システム技術本部 細井 貴史
  • 2. © 2019 NTT DATA Corporation 2 自己紹介 ・ 名前: 細井 貴史 (ほそい たかし) ・ 所属: 株式会社NTTデータ システム技術部 インテグレーション技術センタ (旧ソフトウェア工学推進センタ) ・ その他あれこれ: - 法人向けのSI事業部出身 (現所属の横断組織に異動) - Springベースのグループ共通フレームワークの整備を担当 - Spring I/Oへの参加は初
  • 3. © 2019 NTT DATA Corporation 3 はじめに
  • 4. © 2019 NTT DATA Corporation 4 Netflix社が提供するマイクロサービス開発の一端を担う OSSプロダクト達を扱っている。 Spring Cloud Netflix とは? ・ Spring Cloud Netflix Eureka Client ・ Spring Cloud Netflix Eureka Server ・ Spring Cloud Netflix Archaius ・ Spring Cloud Netflix Ribbon ・ Spring Cloud Netflix Zuul ・ Spring Cloud Netflix Hystrix ・ Spring Cloud Netflix Hystrix Dashboard ・ Spring Cloud Netflix Hystrix Stream ・ Spring Cloud Netflix Turbine ・ Spring Cloud Netflix Turbine Stream
  • 5. © 2019 NTT DATA Corporation 5 Spring Cloud Netflix がどうなる? ・ Spring Cloud Netflix Eureka Client ・ Spring Cloud Netflix Eureka Server ・ Spring Cloud Netflix Archaius ・ Spring Cloud Netflix Ribbon ・ Spring Cloud Netflix Zuul ・ Spring Cloud Netflix Hystrix ・ Spring Cloud Netflix Hystrix Dashboard ・ Spring Cloud Netflix Hystrix Stream ・ Spring Cloud Netflix Turbine ・ Spring Cloud Netflix Turbine Stream メンテナンスモードになることがアナウンスされた。 (脆弱性・バグ対応と必要に応じてPull Request対応する。)
  • 6. © 2019 NTT DATA Corporation 6 アプリはそのままでもよいの? メンテナンスモードとなっているプロダクトは、Greenwichで最後になる可能性が高い。 (要するに、GreenwichがEOLするとサポートされなくなる。) サポートが必要なら移行するしかない! (移行にも時間がかかるので早めの準備が大切になる。) Hoxtonとは? Spring Cloud における Greenwich の次のリリーストレインとなる。 今回の移行パスとして新たに紹介するライブラリがproduction readyな状態で含まれる予定である。 出典: Spring Cloud (GitHub) <https://github.com/spring-cloud/spring-cloud-release/milestone/68>
  • 7. © 2019 NTT DATA Corporation 7 次ページ以降は提供されているデモアプリをベースに紹介していきます。 デモアプリ 出典: Spring Cloud Netflix Demo <https://github.com/OlgaMaciaszek/spring-cloud-netflix-demo> デモアプリのuser-service/pom.xmlの <repository>の設定に誤りがある。 以下の移行パスは示されたが、デモアプリでは提供されていなかったので説明はオリジナルである。注意事項②: Spring Cloud Netflix Archaius Spring Cloud Config Server Spring Cloud Netflix Hystrix Stream + Spring Cloud Netflix Turbine + Spring Cloud Netflix Hystrix Dashboard Micrometer + Prometheus 注意事項①: Spring I/O 2019の登壇者 <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/libs-snapshot-local</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> 一部にSNAPSHOTのリポジトリ を参照する必要があった。
  • 8. © 2019 NTT DATA Corporation 8 Client-side Load Balancing により振り分ける。 Client-side Load Balancing により振り分ける。 マイクロサービスの基本構成 (デモアプリの範囲) Micro Service Micro Service Micro Service API Gateway SCN Zuul Micro Service External Config SCN Archaius Monitoring SCN Turbine Discovery&Registry Server SCN Eureka Server SCN Histrix Dashboard SCN Eureka Client SCN Ribbon Client SCN Eureka Client SCN Ribbon Client SCN Histrix SCN Histrix Micro Service SCN Eureka Client SCN Ribbon Client SCN Histrix Micro Service SCN Eureka Client SCN Ribbon Client SCN Histrix リトライ上限等の条件判断により fallback処理が実行される。 エラー率等の条件判断により サーキットがオープンされている。 共通系 サーキットがクローズされている。
  • 9. © 2019 NTT DATA Corporation 9 Spring Cloud Netflix Ribbon Spring Cloud Load Balancer ※ pom.xmlの修正も忘れずに! アノテーションを切り替えるだけでよい。 マイクロサービス インスタンス向け マイクロサービス インスタンス向け ReactiveなWebClientにも対応できる。 Spring Cloud Netflix Eureka Spring Cloud Zookeeper??? セッションの中で Spring Cloud Netflix Eureka は今回のメンテナンスモードの対象ではないが、 Spring Cloud Zookeeperへスムーズな移行ができるようにならないかを検討していると余談があった。 (上記の Spring Cloud Netflix Ribbon から Spring Cloud Load Balancer への移行のようなスムーズさ)
  • 10. © 2019 NTT DATA Corporation 10 Spring Cloud Netflix Zuul Spring Cloud Gateway ※ pom.xmlの修正も忘れずに! Spring Cloud Netflix Zuul インスタンス向け Spring Cloud Gateway インスタンス向け @がなくなる。 Javaでもルートを実装できる。 なお、Spring Cloud Netflix Zuul では暗黙的にルートを検出することもできたが、 セキュリティ上の問題もあり、Spring Cloud Gateway では明示的にルートを定義させる。
  • 11. © 2019 NTT DATA Corporation 11 Yamlでもルートを設定できる。 Spring Cloud Netflix Zuul Spring Cloud Gateway Spring Cloud Netflix Zuul インスタンス向け Spring Cloud Gateway インスタンス向け ※ pom.xmlの修正も忘れずに!
  • 12. © 2019 NTT DATA Corporation 12 Spring Cloud Netflix Hystrix Spring Cloud Circuit Breaker + Resilience4J マイクロサービス インスタンス向け マイクロサービス インスタンス向け Resilience4Jのプロパティを設定している ※ pom.xmlの修正も忘れずに! 出典: Spring Blog <https://spring.io/blog/2019/04/16/introducing -spring-cloud-circuit-breaker> 様々なサーキットブレーカに対応している 抽象化クラスのライブラリである Spring Cloud Circuit Breakerとは? @がなくなる。
  • 13. © 2019 NTT DATA Corporation 13 Spring Cloud Netflix Hystrix Spring Cloud Circuit Breaker + Resilience4J マイクロサービス インスタンス向け マイクロサービス インスタンス向け ※ pom.xmlの修正も忘れずに! @HystrixCommandとfallback時の実行メソッドだけで済んでいたが、 TimerとCircuitBreakerオブジェクトを用意して、Timerの記録中に CircuitBreaker経由で処理を実行することが必要となった。 またfallback時の挙動として、処理中の例外が発生した場合には fallback時の実行メソッドを呼び出すことが必要となった。
  • 14. © 2019 NTT DATA Corporation 14 マイクロサービス インスタンス向け (Histrix Stream) Spring Cloud Netflix Hystrix Stream + Spring Cloud Netflix Turbine + Spring Cloud Netflix Hystrix Dashboard Micrometer + Prometheus Turbine + Hystrix Dashboardインスタンス向け マイクロサービス インスタンス向け (Micrometer) ※ 各システムが利用している 監視ツールに統合させる。 Micrometerはmetrics情報を収集し、 監視ツールにエンドポイントを提供する。 なお、Prometheusの説明は割愛する。 ※ pom.xmlの修正も忘れずに! 出典: Spring Boot Guide <https://docs.spring.io/spring- boot/docs/current/reference/htmlsingle/# production-ready-metrics> Amazon CloudWatch 等でもできる。
  • 15. © 2019 NTT DATA Corporation 15 Spring Cloud Netflix Archaius Spring Cloud Config Server ※ 各マイクロサービスにプロパティ を配布して起動時にロードさせる。 ※ 各マイクロサービスがプロパティ値を取得 するためのエンドポイントを提供する。 マイクロサービス インスタンス向け (Spring Cloud Config Client) Spring Cloud Config Server インスタンス向け Spring Cloud Netflix Archaius インスタンス向け Spring Boot 起動時に指定先から 指定プロファイルのプロパティを取得する。 -Dspring.profiles.active=”dev”等で bootstrap.ymlの定義を切り替えができる。 プロパティの格納先を指定する。 インスタンスを起動する。 どうしてもSpring Cloud Netflix Archaiusと同様に利用したい場合は、 Spring Cloud Config Serverのインスタンス上にアプリを作成もできる。 (プロパティを読み込み、そのプロパティをレスポンスとして返すアプリ等) ※ pom.xmlの修正も忘れずに!
  • 16. © 2019 NTT DATA Corporation 16 ・ SCN Ribbon ☞ SC Load Balancer (2.1.2.RELEASE) ・ SCN Zuul ☞ SC Gateway (2.1.2.RELEASE) ・ SCN Hystrix ☞ SC Circuit Breaker (0.0.1.BUILD-SNAPSHOT) ・ SCN Turbine ☞ Micrometer (1.1.5.RELEASE) ・ SCN Archaius ☞ SC Config Server (2.1.3.RELEASE) 移行パスになるPivotal製品のリリース状況は? 2019/06/24現在
  • 17. © 2019 NTT DATA Corporation 17 マイクロサービス開発の一端を担うプロダクトは 群雄割拠、まさに戦国時代・・・ Netflixココ 出典: CNCF Landscape <https://landscape.cncf.io/images/landscape.pdf>
  • 18. © 2019 NTT DATA Corporation 18 今後の動向にご注目ください。
  • 19. © 2019 NTT DATA Corporation