개요 마이크로서비스 아키텍처는 고객의 경험을 높이고 서비스의 민첩성, 성능, 안정성 등을 향상시키는 개방형 아키텍처이다. 마이크로서비스로의 전환은 분산 서비스 환경에서 발생 가능한 트랜잭션에 따른 영향도, 분산 DB 구축에 따른 데이터 처리 또는 더 세분화 하여 서비스 간 동기/비동기 식별부터 DevSecOps 체계를 위한 조직, 문화, 기술의 변화까지 당면 과제들을 맞닥뜨리며 해결과정을 아키텍처에 반영하여, 프로젝트에 적합한 설계 방향을 잡아간다. 여러 당면 과제들이 생겨 나겠지만 프로젝트에서는 오픈 방식에 대해서도 심도있게 고려해야 한다. 전통적인 SI 프로젝트 특성상 빅뱅 방식을 선호하여, 점진적 이행을 추구하는 MSA와 다르게 진행되는 경우가 많다. SI를 통해 프로젝트가 진행되는 경우 대부분 지..
개요 앞선 포스팅에서 마이크로서비스 분산DB 환경에서 고려되어야 할 사항에 대해 살펴보았다. 자세한 내용은 아래 포스팅을 참고하기 바란다. 마이크로서비스 Schema 분리 설계 (테이블 분리, 외래키 참조관계, 조인, 데이터 정합성 보장) : https://waspro.tistory.com/730 마이크로서비스 데이터베이스 분리 설계 : https://waspro.tistory.com/729 마이크로서비스 분산DB 설계 (분산DB 데이터 분할, 동기화 설계) : https://waspro.tistory.com/726 마이크로서비스 분산DB 설계 (분산DB 조회 설계) : https://waspro.tistory.com/724 마이크로서비스 아키텍처의 기준과 DB 분리 : https://waspro.tis..
개요 앞선 포스팅에서 마이크로서비스 분산DB 환경에서 고려되어야 할 사항에 대해 살펴보았다. 자세한 내용은 아래 포스팅을 참고하기 바란다. 마이크로서비스 데이터베이스 분리 설계 : https://waspro.tistory.com/729 마이크로서비스 분산DB 설계 (분산DB 데이터 분할, 동기화 설계) : https://waspro.tistory.com/726 마이크로서비스 분산DB 설계 (분산DB 조회 설계) : https://waspro.tistory.com/724 마이크로서비스 아키텍처의 기준과 DB 분리 : https://waspro.tistory.com/718 이번 포스팅에서는 데이터베이스 Schema 분리에 대해 알아보도록 하자. 지금까지 데이터베이스 분리 또는 스키마 분리에 대한 다양한 패턴..
개요 앞선 포스팅에서 마이크로서비스 분산DB 환경에서 데이터 조회를 위한 방안에 대해 살펴보았다. 자세한 내용은 아래 포스팅을 참고하기 바란다. 마이크로서비스 분산DB 설계 (분산DB 조회 설계) : https://waspro.tistory.com/724 마이크로서비스 아키텍처의 기준과 DB 분리 : https://waspro.tistory.com/718 앞서 살펴본 분산 DB 조회 설계에서는 이미 분할된 데이터에 대한 접근을 어떻게 효과적으로 할 것이냐에 포커싱을 맞추었다면, 이번 포스팅에서는 어떻게 데이터를 모놀리식 DB에서 분할할 것인냐에 대해 알아보도록 하자. 중요한 포인트는 바로 특정 데이터가 어느 분산 DB에 존재하는 것이 좋은지에 대한 결정을 내리는 일이다. 모놀리스에서 서비스를 분리할 때 ..
개요 앞선 포스팅에서 마이크로서비스 환경의 데이터베이스 분리 기준에 대해 알아보았다. 모놀리식 어플리케이션을 마이크로서비스 아키텍처로 전환하기 위해서는 단일DB를 분산DB 형태로 분리해 나가야 한다. 물론 한번에 모든 DB를 서비스 별로 쪼개는 것은 리스크를 확대시킬 수 있다. 서비스간 결합도가 낮은 마이크로서비스로부터 하나씩 DB를 분리해 나가면서 점진적 결합도를 낮추는 것이 무엇보다 중요하다는 점을 기억하고 다음 포스팅을 읽어주었으면 한다. 마이크로서비스 아키텍처의 기준과 DB 분리 : https://waspro.tistory.com/718 데이터베이스의 분리는 단순하게 DB의 스키마를 나누는데에 그치지 않는다. 하나의 프로젝트에서 분석/설계라는 과정을 거쳐 어플리케이션과 테이블, 인터페이스를 정의하..
개요 최근 3년 사이 마이크로서비스 아키텍처의 급격한 유행에 따라 많은 프로젝트에서 MSA로의 전환을 시도하고 있으며, 성공적으로 전환한 케이스가 있는 반면, 실패한 경우도 종종 발생하고 있다. 포스팅의 시작점에서 우리가 말하는 성공적인 마이크로서비스 전환 사례란 무엇인지에 대해 알아보도록 하자. 마이크로서비스 아키텍처의 성공기준 RESTFul API가 적용된 프로젝트 독립적인 배포가 가능하도록 결합도를 낮춘 프로젝트 클라우드가 적용된 확장성, 가용성이 확보된 프로젝트 자동화된 배포 체계가 갖추어진 프로젝트 DevOps 조직 체계를 적용한 프로젝트 ...... 마이크로서비스로의 전환이 진행중인 또는 완료된 프로젝트 사례들을 살펴보면 위와 같은 공통의 목표를 달성해 내고자 했을 것이다. 다만, 이와 같은 ..
서론 마이크로서비스 아키텍처는 마이크로서비스를 정의하는 애플리케이션 레벨의 Inner Architecture와 이를 지원하는 Outer Architecture로 구분하여 정의한다. 이를 정의하기 위한 기술셋은 매우 다양하게 존재하며, 그 기술 요소들의 조합으로 독립적이고, 가벼운 서비스들의 집합으로 하나의 거대한 애플리케이션이 된다. 실 예로 다음은 Netflix의 마이크로서비스 간의 관계도를 표현한 유명한 아키텍처이다. 위는 마이크로서비스로 구성한 독립적인 서비스가 얼마나 복잡한 관계도를 갖는지 단적으로 표현하고 있다. 이렇게 복잡한 마이크로서비스가 주는 문제점 중 하나는 바로 장애 추적의 어려움이다. 서로 복잡하게 얽혀있는 서비스 간의 호출 흐름으로 인해 Legacy 단일환경에서 트러블슈팅을 진행하던..
마이크로서비스 아키텍처는 '서비스를 설계하는 Inner 영역'과 '서비스를 지원하는 Outer 영역'으로 구분한다. Inner는 서비스를 비즈니스 영역에 맞게 쪼개고 API를 설계하는 영역이며, Outer는 API 호출이 원활하게 이루어질수 있도록 도와주는 영역이다. 이와 같이 MSA는 API를 어떻게 쪼개고 어떻게 서비스할 것인지를 결정하는 것이라 할 수 있으며, 결국 MSA의 핵심은 API라고 할 수 있다. 마이크로서비스의 API "최근 IT(Information Technology)는 진화의 과정을 거쳐 DT(Data Technology) 산업으로 확장해 나가고 있다. Data 중심의 기술로 발전하며, 데이터를 분석하는데 특화된 다양한 언어와 환경이 중요해졌으며, 이는 기존 단일화(?) 되어 있던(..
NodeJS 등장 NodeJS 는 구글 크롬의 V8 (자바스크립트 엔진)으로 빌드 된 이벤트 기반 자바스크립트 런타임이다. 웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 고안되었다. 파이썬으로 만든 트위스티드, 펄로 만든 펄 객체 환경, 루비로 만든 이벤트머신과 그 용도가 비슷하다. 대부분의 자바스크립트가 웹 브라우저에서 실행되는 것과는 달리, NodeJS는 서버 측에서 실행된다. 일부 CommonJS 명세를 구현하고 있으며, 쌍방향 테스트를 위해 REPL 환경을 포함하고 있다. - 위키백과 V8 엔진 : 구글 크롬의 V8 엔진은 웹 브라우저를 만드는데 그 기반을 제공하는 오픈소스 자바스크립트 엔진이다. 속도향상을 위해 인라인 캐싱(inline caching)과 같은 최적화 기법을 적용하였다..
SAGA 패턴은 서비스 별 각 트랜잭션이 단일 서비스 내의 데이터를 갱신하는 일련의 로컬 트랜잭션을 의미한다. 첫번째 서비스의 트랜잭션이 완료되면 두번째 서비스의 트랜잭션이 동작하도록 트리거 되는 방식이라 생각할 수 있다. SAGA 패턴은 크게 두가지 방식으로 구현할 수 있다. Event / Chreography : 각 로컬 트랜잭션이 이벤트를 발생시키고, 다른 서비스가 트리거 하는 방식 Command / Orchestration : 오케스트레이터가 어떤 트랜잭션을 수행할 건지 알려주는 방식 그럼 각 방식에 대해 간단히 살펴보자. Event/Chreography 각 서비스 마다 자신의 트랜잭션을 관리하며 현재 상태를 변경한 후 이벤트를 발생시키고, 그 이벤트를 다른 서비스에 전달하는 방식으로 트랜잭션이 ..
- Total
- Today
- Yesterday
- kubernetes
- openstack tenant
- 오픈스택
- node.js
- openstack token issue
- 마이크로서비스 아키텍처
- aws
- API Gateway
- JEUS6
- JEUS7
- git
- nodejs
- aa
- TA
- Da
- SWA
- 마이크로서비스
- 쿠버네티스
- wildfly
- webtob
- k8s
- apache
- Docker
- 아키텍처
- jeus
- OpenStack
- Architecture
- JBoss
- SA
- MSA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |