xlab #8 - architektura mikroserwisów na platformie spring boot

43
Architektura mikroserwisów na platformie Spring Boot

Upload: xsolve-software-house

Post on 12-Apr-2017

48 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

Architektura mikroserwisów na platformie Spring Boot

Page 2: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Projekt GitHub: github.com/xsolve-pl/xlab-8

Page 3: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

10:00 Poznajmy się10:30 Cel oraz wymagania warsztatowe11:00 Prezentacja cz.1 11:30 Przekazanie zadań grupom 11:40 Część praktyczna cz.112:30 Przerwa na kawę

Agenda

Page 4: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

12:45 Prezentacja cz.213:30 Obiad14:00 Część praktyczna cz.2 15:00 Prezentacje zespołów15:30 Q&A

Agenda

Page 5: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Poznajmy się

Page 6: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Alicja Smolnik ‘Alutka’

Page 7: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Grzegorz Kukla ‘Grzekuk’

Page 8: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Kamil Zieliński‘Dziki’

Page 9: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Michał Witkowski ‘Majkel’

Page 10: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Wymagania✓ JAVA 7+✓ Restful API✓ Spring Framework✓ Microservices✓ Gradle

Page 11: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

WymaganiaWykorzystywałem mikroserwisy w projektach komercyjnych

Wykorzystywałem Springa w projektach komercyjnych

Tworzyłem RESTful API w projekcie komercyjnym

Znane mi są wcześniej przedstawione technologie

Część technologii jest mi znana

Page 12: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Microservices

Page 13: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Microservices

Page 14: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Monolity

Page 15: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Mikroserwisy

Page 16: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Monolity są prostsze, mam 1 aplikację, 1 bazę, wszystko co mi trzeba mam pod ręką…

Page 17: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 18: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 19: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 20: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Spring Cloud

Eureka

Page 21: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

CENTRALIZACJA USTAWIEŃ

(REPO, LOCAL STORAGE)

Spring Cloud Configuration Server

Page 22: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

CENTRALIZACJA USTAWIEŃ

BEZPIECZEŃSTWO

Spring Cloud Configuration Server

Page 23: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

CENTRALIZACJA USTAWIEŃ

BEZPIECZEŃSTWO

HISTORIA ZMIAN

Spring Cloud Configuration Server

Page 24: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

CENTRALIZACJA USTAWIEŃ

BEZPIECZEŃSTWO

HISTORIA ZMIAN

WYGODNA MIGRACJA

POMIĘDZY DEV, TEST, PROD

Spring Cloud Configuration Server

Page 25: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Service “Discovery” - Eureka

No DNS - USE NAMES

“CZEŚĆ! NAZYWAM SIĘ SERWIS NOTYFIKACJI MIESZKAM NA LOCALHOST’CIE POD 8081…”

Page 26: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 27: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Metody HTTPGET - wykorzystujemy do pobierania danych

POST - służy do tworzenia nowych obiektów

PUT - do aktualizacji obiektów

DELETE - do usuwania obiektów

Page 28: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

REST - Representational State Transfer

Page 29: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

JSON vs. XML

Page 30: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Projektowanie zasobów

[GET] http://localhost:8080/api/v1/users/10

[DELETE] http://localhost:8080/api/v1/users/10

[GET] http://localhost:8080/api/v1/developers/java/2

Page 31: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Spring Boot

Page 32: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

.properties vs .yml

Page 33: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Przydatne narzędzia podczas tworzenia architektury mikroserwisów

● Hystrix - Circuit breaker● Ribbon - Load Balancer● Zuul - Gateway, filter server● Feign - API client (hystrix + ribbon)

Page 34: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Hystrix

Page 35: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Przydatne narzędzia podczas tworzenia architektury mikroserwisów

● Hystrix - Circuit breaker● Ribbon - Load Balancer● Zuul - Gateway, filter server● Feign - API client (hystrix + ribbon)

Page 36: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Monolith - Centralized Load Balancer

Page 37: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Ribbon

Page 38: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Przydatne narzędzia podczas tworzenia architektury mikroserwisów

● Hystrix - Circuit breaker● Ribbon - Load Balancer● Zuul - Gateway, filter server● Feign - API client (hystrix + ribbon)

Page 39: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 40: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

OBIAD

OBIAD

Page 41: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 42: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Page 43: xlab #8 - Architektura mikroserwisów na platformie Spring Boot

www.xsolve.plAgile Software House

Thank you!