端端舝

端端舝Share a Scribd company logo
1
Spring矛奈旦及
Cloud Native Application
2021/10/18
梇鋤pring交奈扒頗
芩嶊 苠す
赻撩畿賡
? 芩嶊 苠す
? 磁肮頗扦 政亹裒
每 Spring及左件仿奶件旃党
每 嶱逃盓堔
每 丟乒仿平奈
? 虃恕拊P
2
[蜊陔唳]Spring錁T OpenID Connect錁T
Cloud Native Application午反?
? 弁仿它玉匹茪砟酗毛ヶ枑卞釬日木凶失皿伉弗奈扑亦件
每 Microservice毛鵛
每 Container匹茪咫
每 茧臚迉版`弗旦玄伊奈扑亦件今木月
? Container及茧臚吤馴惟`伙失它玄?奶件﹜伕奈伉件弘
失永皿犯奈玄
每 ???
3
Spring
?
Spring矛奈旦及失皿伉匹反﹜
升及方丹卅支曰源互謎中及分欠丹?
Container
失皿伉A Container
失皿伉B
Container
失皿伉B
失斥尼件母&畿賡允月本永扑亦件
? Microservice及奶件白仿
每 Next-Generation Cloud Native Apps with Spring
Cloud and Kubernetes
? Native Image + Container + Serverless
每 Going Serverless Using the Spring Framework
Ecosystem
4
Microservice及奶件白仿
5
Microservice及奶件白仿
(↗珨啜蚚惤匹反丐曰引六氏)
? Microservice毛庇諵馱諵五卞斛猁午卅月焆〝毛枑
鼎允月價屜
每 Service Discovery
每 Load Balancing
每 Fault Tolerance
? Retry﹜ CircuitBreaker﹜???
每 Observability
? Tracing﹜Metrics﹜???
每 ???
6
Service
Discovery
奶件旦正件旦
奶件旦正件旦
奶件旦正件旦
扔奈申旦A
奶件旦正件旦
奶件旦正件旦
奶件旦正件旦
扔奈申旦B
奶件白仿毛g政允月忒僇及湮引井卅煦
7
煦 仿奶皮仿伉匹g政 皿仿永玄白巧奈丞匹g政
庨こ及瞰 Spring Cloud﹜Netflix OSS﹜卅升 Kubernetes﹜Istio﹜Linkerd﹜卅升
丟伉永玄 ?嶱逃民奈丞匹俇磐
失皿伉午肮元旦平伙本永玄
?嶱逃氪白伊件玉伉奈
悝仄支允中﹜犯田永弘仄支允中﹜
卅升
?失皿伉及童互p月
?奶件白仿笚曰及偞隅毛銝仄化手失
皿伉毛伉犯皿伕奶允月斛猁互卅中
犯丟伉永玄 ?仿奶皮仿伉?晟惤互鉹鴾諵﹜失皿
伉及g蚾互鉹鴾
?失皿伉及童互尹月
?奶件白仿笚曰及偞隅毛銝允月午
價掛反失皿伉毛伉犯皿伕奶
?失皿伉午卅月旦平伙本永玄
?綅蚚民奈丞午及庢硉ㄓ禺y仄中
失皿伉
奶件白仿 失皿伉
奶件白仿
皿仿永玄白巧奈丞
Spring
Spring矛奈旦分午升及失皿伕奈
民互方中及分欠丹ˋ
畿賡允月本永扑亦件
? Next-Generation Cloud Native Apps with Spring
Cloud and Kubernetes
8
堤萎
https://springone.io/2021/sessions/next-gen-cloud-native-apps-with-
spring-cloud-and-k8s
本永扑亦件及衙猁
? Spring Cloud午Kubernetes毛窣茪竣誘賰蔆角藑h
隴
每 Spring Clou鉹峇艉鷅洃洃氻忖
每 Spring Cloud午Kubernetes毛立永弁旦
每 今日卞﹜Spring Cloud Kubernetes 毛妏勻化Spring
Cloud午Kubernetes毛窣
每 仿奶皮犯乒
9
Spring Cloud及心及鷅
10
堤萎:絞本永扑亦件及逃桶旦仿奶玉
Proxy
娗逋
? Spring Cloud Config
每 失皿伉互俋窒井日△瓣馱郺O隅毛珨啋奪燴匹五月
每 皿伕白央奶伙陘刱O隅毛奪燴匹五月
每 偞隅毛Git井日掂心煋戶月
每 Spring Cloud Bus(夎匹Rabbit MQ卅升毛妏丹)毛妏丹仇午匹﹜銝毛失皿伉卞
籵眭匹五月
每 伉白伊永扑亙旦戊奈皿毛妏丹仇午匹﹜失皿伉毛婬れ茪誘漱侇植酗リ迨(伉白伊永
扑亙旦戊奈皿及Bean分仃載陔)
11
C夔 仿奶皮仿伉
Service Discovery Server Spring Cloud Netflix ㄗEurekaㄘ
Tracing Spring Cloud Sleuth
Circuit Breaker Spring Cloud Circuit Breaker
Load Balancing Spring Cloud Loadbalancer
Config Server Spring Cloud Config
@RefreshScope
Spring Cloud及心及鷅洃挍n觳
? 失皿伉及左奈弗旦玄伊奈扑亦件毛赻煦凶切匹支月斛猁
互丐月
每 左奈玄旦弗奈伙﹜伕奈伉件弘失永皿犯奈玄﹜犯皿伕奶樲(皮
伙奈?弘伉奈件犯皿伕奶丟件玄﹜市瓜伉奈犯皿伕奶丟件玄卅升)
﹜???
? 扔奈申旦及意互尹月
每 Service Discovery Server﹜Config Server﹜RabbitMQ
12
Spring Cloud + Kubernetes
13
堤萎:絞本永扑亦件及逃桶旦仿奶玉
Pod
Pod
娗逋
? 左奈弗旦玄伊奈扑亦件反Kubernetes卞峇誘
? Service Discovery支Load Balancing反Kubernetes及
Service卞峇誘
每 Tracing﹜Circuit Breaker反Spring Cloud匹
? Kubernetes及Config Map井日偞隅毛△
每 Config Map匹偞隅仄凶犯奈正毛﹜虐噫韍支白央奶伙毛賡仄化失皿伉
互△瓣馱
14
Pod
Container
失皿伉A
Container
失皿伉B
Container
失皿伉B
Kubernetes Service
Spring Cloud + Kubernetes及掝觳
? Config Map及銝毛失皿伉互忒炊リ迨吨中峇ョ
價掛反失皿伉及伉犯皿伕奶互斛猁
? 失皿伉匹伕奈玉田仿件旦及秶郘互匹五卅中
15
堤萎:絞本永扑亦件及逃桶旦仿奶玉
Spring Cloud Kubernetes及瞳蚚
16
堤萎:絞本永扑亦件及逃桶旦仿奶玉
娗逋
? Spring Cloud Kubernetes午反ˋ
每 Spring Cloud 午 Kubernetes毛窣茪竣誘諝擖丰皏擖
? Kubernetes及Service及①(Pod及IP失玉伊旦卅升)
毛△瓣楔ヾ㏎pring Cloud LoadBalancer毛妏勻化弁
仿奶失件玄匹伕奈玉田仿件旦允月﹜卅升
每 夎匹反Kubernetes及API Server毛妏蚚仄化中月
? Config Watcher
每 Spring Cloud Kubernetes互枑鼎允月C夔及1勾
每 Config Map及銝r卞﹜失皿伉卞伉白伊永扑亙奶矛件玄毛
籵眭允月
? 伉犯皿伕奶六內卞偞隅毛婬掂心煋心褫夔
17
掝觳
? 失皿伉互Kubernetes及API Server卞失弁本旦允月
斛猁互丐月
每 Pod及媝痽O隅互斛猁
每 わI卞方勻化反珃互月
18
堤萎:絞本永扑亦件及逃桶旦仿奶玉
Spring Cloud Kubernetes逃桯倛
19
堤萎:絞本永扑亦件及逃桶旦仿奶玉
娗逋
? Spring Cloud Kubernetes Discovery Server
每 Discovery Server(Eureka反妏勻化卅中赽)
每 K8S API Server井日Service及①(IP失玉伊旦卅升)毛
腕允月及匹﹜失皿伉反Discovery Server尺及腎嶕互祥
猁
? Spring Cloud Config Server
每 Config Map井日手皿伕由氾奴毛掂心煋戈
? 失皿伉反Config Server分仃砩舑允木壬方中
? 失皿伉互Kubernetes API Server卞失弁本旦仄卅仁化
手謎中
20
升及支曰源互方中及井?
21
堤萎:絞本永扑亦件及逃桶旦仿奶玉
佽臚妐俵
? 郔摽及逃桯倛反﹜詢C夔匹反丐月互﹜綅蚚互恚螝
卞卅曰公丹
每 腎鶲冼鴾炮鄐砟吨賰痋Ⅰ傱砓互尹凶曰﹜觳及з
曰煦仃互褣仄仁卅曰公丹
? 引內反﹜Spring Cloud + Kubernetes匹旦正奈玄仄化
﹜斛猁卞磥舅齷pring Cloud Kubernetes毛庇諵
化中仃壬方中午佷丹
22
Native Image + Container +
Serverless
23
Serverless午反?
? 瞳蚚氪互扔奈田及奶件旦正件旦毛砩舑仄卅仁化手方中皿仿永玄
白巧奈丞
每 ☆扔奈田互湔婓仄卅中★午中丹砩庤匹反卅中
? 湮引井卅煦
每 BaaS (Backend as a Service)
? 扔奈田反穴生奈斥玉扔奈申旦分仃匹俇磐
每 庲偩﹜DB﹜皿永扑亙籵眭卅升
每 失皿伉及伕斥永弁反弁仿奶失件玄匹釬月
? 測桶腔卅庨こ: Google Firebase
每 FaaS (Functions as a Service)
? 失弁本旦卞磥舅縞磳艇疇砟襢v杅午中丹g弇匹釬傖仄犯皿伕奶
? 失弁本旦今木凶r卞れ(Cold Start)仄﹜仄壬日仁失弁本旦互
o仃木壬礿砦
? 測桶腔卅庨こ: AWS Lambda
24
Serverless及丟伉永玄?犯丟伉永玄
? 丟伉永玄
每 扔奈田及虐噫毛砩舑仄卅仁化方中及匹綅蚚互S
每 I燴互g俴今木凶午五分仃掝踢今木月及匹腴蹋踢
? 犯丟伉永玄
每 赻蚕僅互腴中
每 矛件母奈伕永弁奶件卞卅曰互切
每 犯田永弘互仄卞仁中﹜伕奈市伙嶱逃互仄卞仁中
每 Cold Start允月蕣卞I燴互綈晊允月
25
丟伉永玄毛公及引引卞﹜犯丟伉永玄毛賤Q允月
忒僇反卅中井?
畿賡允月本永扑亦件
? Going Serverless Using the Spring Framework
Ecosystem
? Spring及失皿伉毛Native Image卞仄化Knative奻匹
g俴允月源楊毛掊隴
26
堤萎
https://springone.io/2021/sessions/going-serverless-using-the-spring-
framework-ecosystem
Native Image午反?
? Java及戊奈玉毛﹜Native戊奈玉(OS奻匹眻諉茪砲釧`玉)卞戊件
由奶伙仄凶g俴白央奶伙
每 JVM毛妏歹卅中
每 蚚及g俴虐噫互Native Image卞漪引木月
? JVM毛妏歹卅中及匹れ茪畋暀丑╞嵽漭糐墓藪縣犓
卅中
? GraalVM毛妏勻化Native Image卞戊件由奶伙匹五月
? Native Image及戊件由奶仿反﹜壁握咼IT(Just In Time)戊件
由奶仿卞仄化﹜AOT(Ahead of Time)戊件由奶仿午網壬木月
27
JIT午AOT
28
堤萎:絞本永扑亦件及逃桶旦仿奶玉
JVM午Native Image及玄伊奈玉左白
29
堤萎:絞本永扑亦件及逃桶旦仿奶玉
Native Image毛釬傖允月午五及掝觳
? 戊件由奶伙r卞杻隅匹五卅中弁仿旦反Native Image
卞漪引木卅中(丟乒伉及白永玄皿伉件玄毛屾卅仁允月凶
戶)
每 伉白伊弁扑亦件匹失弁本旦今木月弁仿旦
每 赻蚕傖今木月Proxy及弁仿旦
每 卅升
? 杻隅匹五卅仁化手漪戶凶中鷅洃狪鼳噩臚刱O隅仄化
GraalVM卞傾允斛猁互丐月
30
赻煦匹偞隅允月及反湮
Spring Native午反?
? Spring毛妏勻凶失皿伉毛g卞Native Image卞允月
仇午互匹五月汁奈伙
每 GraalVM卞傾允①(赻蚕傖今木月Proxy及弁仿旦支﹜
伉白伊弁扑亦件匹失弁本旦今木月弁仿旦卅升)毛赻茧臚侂
傖仄化仁木月
每 Maven及皿仿弘奶件匹Native Image毛申伙玉
? Spring Native及打奈伙
每 Spring毛妏勻凶失皿伉卞﹜睡手忒毛諵鴗漱沄ative
Image卞匹五月仇午毛醴硌仄化中月
? ↗政婓反Experimental唳
31
Spring Native匹Native Image毛釬月蕣及
2勾及源楊
32
堤萎:絞本永扑亦件及逃桶旦仿奶玉
申伙玉允月穴扑件
GraalVM
申伙玉允月穴扑件
Buildpack及
Container
GraalVM
Container Image
Native Image Native Image
JVM午Native Image及俶夔掀廌
33
堤萎:絞本永扑亦件及逃桶旦仿奶玉
Knative午反?
? Kubernetes奻匹Serverless卞Container毛茪咫楔々砟鴗諝
仿永玄白巧奈丞
每 I燴互網太堤今木凶蕣卞Container互赻茪Ю茪楚═楔苳擗缺馱鴾
卅井勻凶日赻茪е砦允月
每 今引介引卅意及蹅忖藡雂惜臚惜諵酗互匹五月
? HTTP﹜Kafka﹜GitHub﹜???
? 穴生奈斥玉扔奈申旦毛瞳蚚匹五月
每 Google Cloud Run卅升
34
Kubernetes
Knative
Pod
Container
失皿伉
Pod
Container
失皿伉
妏歹木卅井勻凶日赻茪е砦
? 本永扑亦件囀及犯乒及笢匹☆kubectl get pods★戊穴件
玉匹Pod及杅毛隅ぶ腔卞復庲
每 ㄡ隙醴及戊穴件玉匹反☆Running★及Pod互o仁卅勻化中月
35
堤萎:絞本永扑亦件及蚖
Knative + Native Image
? Serverless及丟伉永玄毛公及引引卞犯丟伉永玄毛賤秏
每 穴生奈斥玉扔奈申旦毛妏尹壬﹜扔奈田及虐噫毛砩舑仄
卅仁化方中及匹綅蚚互S
每 I燴互g俴今木凶午五分仃掝踢今木月及匹腴蹋踢
每 Cold Startr及れ茪畋暀丑╞嵽漭磥恘愐手腴中
每 赻蚕卞失皿伉毛釬木月
? 失皿伉毛Container Image卞允月分仃
36
佽臚妐俵
? 弁仿它玉毛瞳蚚仄化中月巨件正奈皿仿奶朮卅I掍╞
伉卞手砃中化月井手
每 r嶲﹞豸銴瓣ぁ璈`扒杅支失弁本旦杅卞船互丐月
? 絅倎心支I摽反幻午氏升失弁本旦互o中﹜卅升
每 伉伉奈旦及螿僅互屾卅中
? 申伙玉卞r嶲互井井勻化手觳卅中
每 云踢毛廣仄凶中
37
畿賡仄凶本永扑亦件
? Microservice及奶件白仿
每 Next-Generation Cloud Native Apps with Spring
Cloud and Kubernetes
? Native Image + Container + Serverless
每 Going Serverless Using the Spring Framework
Ecosystem
38
39
仍ь丐曰互午丹仍介中引仄凶
40
仿奶本件旦卞勾中化
? JSUG穴旦戊永玄失奶戊件ㄗ掛旦仿奶玉酘狟ㄘ互紹今木化中月鷅洃冾牏瞗2擋鷝楠角牏縣膜鴗藜炊豸楔衡圪
釬こㄘ及恚庨?薡票?桶尨?奻栳毛庲戶引允﹝
? 準妀蚚醴腔卞癹曰﹜掛釬こㄗ引凶公木毛啋卞仄凶巖汜釬こㄘ及恚庨?薡票?桶尨?奻栳毛庲戶引允﹝
? 掛釬こ及仿奶本件旦毛郩忐允月癹曰﹜巖汜釬こ毛唬票允月仇午毛勍褫仄引允﹝

More Related Content

Spring矛奈旦及Cloud Native Application