There is only Zuul Configuring and customizing the






















































- Slides: 54
There is only Zuul Configuring and customizing the Zuul API gateway Spencer Gibb twitter: @spencerbgibb email: sgibb@pivotal. io Shoutout to Michael Minella for some slides and theme
MONOLITHS
MULTIPLE ENDPOINTS & APPLICATIONS
LARGE COMPLEX ARTIFACTS
DIFFICULT TO TEST
HARD TO GET TO PRODUCTION
MICROSERVICES
CLOUD NATIVE
DEVELOPED AND TEST IN ISOLATION
INDEPENDANTLY SCALABLE
FAMILIAR DEVELOPMENT MODEL
SMALL AND SIMPLE TO TEST
OPERATIONALLY EASY TO GOVERN
HOW DO EXTERNAL CLIENTS CONNECT TO MICROSERVICES?
You shall not pass! Unless I know you…
What is an API Gateway Product Info Service Server Side MVC APP API Gateway Single Page JS or Mobile APP Recommendation Service Review Service
Spectrum of API Gateways SASS
There is no Dana, only Zuul!
SPRING CLOUD
Zuul Design
@Enable. Zuul. Proxy
1 Pre. Decoration. Filter
2 Ribbon. Routing. Filter
3 Send. Response. Filter
zuul: routes: users: /users/**
DEMO Demo
ZUUL 2 FUNKO ANNOUNCED POP http: //techblog. netflix. com/2016/09/zuul-2 -netflix-journey-to-asynchronous. html
H EB TTP SO /2 CK ** ET S NG P RI LA SP ER OV W Y NG TT KI NE LOC B N- NO CO W MP / Z AT UU IB L LE 1 IN WIP MAJOR REWRITE
SPRING CLOUD GATEWAY
SPRING BOOT 2. 0 Q 4 2017 W EB HTT SO P/2 CK ET S SP RI NG 5 T EC R OJ TO PR AC RE NG RI SE SP U RE API DRIVEN SPRING CLOU GATEWAY
1 ROUTE MGMT API
2 ROUTE: VIA CONFIG
2 ROUTE: VIA DISCOVER
2 ROUTE: VIA DB
3 ROUTE SCOPED FILTE
4 FLEXIBILE
5 SIMPLIFIED
spring. cloud. gateway. routes: - id: users uri: http: //users-xyz: 80 predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: - id: users uri: http: //users-xyz: 80 predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: - id: users uri: http: //users-xyz: 80 predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: - id: users uri: lb: //users predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: - id: users uri: lb: //users predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: - id: users uri: lb: //users predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: - id: users uri: lb: //users predicates: - Host=**. example. org - Path=/users/{segment} filters: - Set. Path=/{segment}
spring. cloud. gateway. routes: filters: - Add. Response. Header=X-Response-Foo, Bar - Remove. Response. Header=X-Foo - Secure. Headers - Rewrite. Path=/foo/(? <part>. *), /${part} - Hystrix=foocmd
DEMO Demo
SPRING CLOUD GATEWAY MILESTONE 1 END OF MAY
SPRING CLOUD GATEWAY RELEASE DECEMBER 2017
WHAT HAPPENS TO ZUUL 1?
Learn More. Stay Connected. Spencer Gibb Blog: spencer. gibb. us Twitter: @spencerbgibb Pivotal: pivotal. io Twitter: twitter. com/springcloud Spring Cloud Zuul Samples You. Tube: spring. io/video github. com/spring-cloud-samples/sample-zuul-filters Linked. In: spring. io/linkedin Spring Cloud Gateway Google Plus: spring. io/gplus github. com/spring-cloud-incubator/spring-cloud-gateway
QUESTIONS?
The End