Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- MySQL
- Istio
- spring boot ssl verify skip
- intelij spring boot devtools
- spring boot http client
- spring boot 2.0 ssl
- intelij devtools
- Spring Cloud Bus
- msa 4.0
- redis ha
- spring boot ssl
- sidecar patern
- high availabillty
- java static resources
- spring boot jks
- Spring Cloud Config
- Service Mesh
- spring cloud zuul
- <iframe src="http://erea.tistory.com/attachment/cfile21.uf@997995485B2F785A3292EE.svg"></iframe>
- Distributed Tracing System
- kubernates
- spring cloud load balancer
- tracing tool
- Spring boot
- spring cloud api gateway
- redis cluster
- spring boot hot swapping
- sidecar
- jpa auto increment
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect x="10" y="10" height="100" width="100" style="stroke:#ff0000; fill: #0000ff"/> </svg>
Archives
- Today
- Total
erea
Microservice 4.0 (Istio Service Mesh and Serverless) 본문
MicroService란?
각자 조금씩 생각하는 MSA가 다를수 잇겟지만 객체지향의 아버지 마틴 파울러께서 정의하길
마이크로 서비스 아키텍처 스타일은 단일 응용 프로그램을 자체 서비스로 실행하고 경량 메커니즘 (종종 HTTP 리소스 API)과 통신하는 작은
서비스 모음으로 개발하는 접근 방식입니다.
이러한 서비스는 비즈니스 역량을 기반으로 구축되며 완전 자동화 된 배포 기계로 독립적으로 배포 할 수 있습니다. 이러한 서비스에 대한
최소한의 중앙 집중식 관리가 있으며,
다른 프로그래밍 언어로 작성되고 다른 데이터 저장 기술을 사용이라고 정의하셨다.
이글을 읽기전에 istio를 읽고 오시면 많은 도움이 됩니다.
Microservices 1.0
Java Only
Adds a lot of libraries to YOUR code
Microservices 2.0
spring cloud + kubernetes
Microservices 3.0(with istio)
SERVICE MESH WITH ISTIO
Microservices 4.0(ServerlessFunctions)
Short-Lived Processes
새로운 프로그래밍 모델
이벤트 중심 비동기
ISTIO vs without ISTIO
전 MSA 1.0(without istio)
후 MSA 3.0~4.0(with istio)
Total
Secure Communication
---------------------------------------------------------------------------------------------------------------------------------------------------------
Dynamic Routing
----------------------------------------------------------------------------------------------------------------------------------------
CANARY DEPLOYMENT
A/B DEPLOYMENT(BLUE GREEN)
DARK LAUNCHES
Circuit Breakers
----------------------------------------------------------------------------------------------------------------------------------------
Distributed Tracing
----------------------------------------------------------------------------------------------------------------------------------------
Chaos Engineering
----------------------------------------------------------------------------------------------------------------------------------------
Reference
https://www.slideshare.net/DanielOh20/microservice-40-journey-from-spring-netflix-oss-to-istio-service-mesh-and-serverless-at-open
-source-summit-japan
https://github.com/istio/istio#introduction
Conclustion
msa의 필요한 도구들이 spring cloud 즉 java에서만 지원한다는 약점이 있었는데 istio로 인해 node.js, pythone, go등이 마이크로서비스가
가능해진다.
또한 어플리케이션 레이어에서 구현해야 했던 discovery, circuit-breaker,Metric, Tracing, routing 영역이 사이드카 패턴으로 istio로 기능이
옮겨지게 되어 기존 어플리케이션영역이 가벼워지고 결합도가 낮아졌다.
아쉬운점이 있다면 나온지 얼마안된 신기술이기 떄문에 레퍼런스가 부족하고 0.x대 버젼에서는 다소 불안정한 현상이 많이 발생되었다.
그리고 가장 큰 프로덕션환경에서의 사례가 많이 부족하다.
하지만 점점 버젼업을 하면서 안정화단계에 들어서고 있고 이제는 어플리케이션 레이어가 아닌 사이드카 패턴으로 msa를 구현하는것은 선택이 아닌 필수가 아닐까 생각된다.
'devops > msa' 카테고리의 다른 글
Jaeger (Distributed Tracing System) (0) | 2019.02.24 |
---|---|
istio (0) | 2018.10.11 |