
마이크로서비스 아키텍처는 '서비스를 설계하는 Inner 영역'과 '서비스를 지원하는 Outer 영역'으로 구분한다. Inner는 서비스를 비즈니스 영역에 맞게 쪼개고 API를 설계하는 영역이며, Outer는 API 호출이 원활하게 이루어질수 있도록 도와주는 영역이다. 이와 같이 MSA는 API를 어떻게 쪼개고 어떻게 서비스할 것인지를 결정하는 것이라 할 수 있으며, 결국 MSA의 핵심은 API라고 할 수 있다. 마이크로서비스의 API "최근 IT(Information Technology)는 진화의 과정을 거쳐 DT(Data Technology) 산업으로 확장해 나가고 있다. Data 중심의 기술로 발전하며, 데이터를 분석하는데 특화된 다양한 언어와 환경이 중요해졌으며, 이는 기존 단일화(?) 되어 있던(..

앞서 두 포스팅을 통해 Kafka(Zookeeper)의 아키텍처와 구축/기동 방법에 대해 살펴보았다. Kafka(Zookeeper) 아키텍처 Kafka(Zookeeper) 구축 이번 포스팅에서는 실제 Kafka Message Broker를 활용한 Pub/Sub SpringBoot Application 개발 방법에 대해 알아보자.Publisher Project 개발 가이드Publisher 구현은 다음과 같은 과정을 거친다.(build.gradle 구성 > @SpringBootApplication 구성 > Swagger 구성 > application.properties 정의 > KafkaPublisherConfig 정의 > domain(Sender & Reciever Message) 정의 > Controll..

앞선 포스팅에서 Kafka(Zookeeper) 아키텍처에 대해 살펴보았다. [MSA] Kafka(Zookeeper) 아키텍처 이번 포스팅에서는 다음 포스팅에서 다룰 Pub/Sub 개발을 위한 Kafka 메시지 브로커를 구성해 보도록 하자. Kafka 설치 Kafka는 사실 설치의 개념이 없다. 단순히 압축을 해제하는 것만으로 설치는 완료된다.Kafka는 다음에서 다운로드 받을 수 있다.Kafka : http://kafka.apache.org/ Kafka 디렉토리 구조 Kafka를 관리할 특정 디렉토리에 압축을 해제하면 다음과 같은 구조를 갖는다. [주요 디렉토리]- bin : Kafka와 Zookeeper를 기동하고 관리하기 위한 bat(windows) or sh(linux/unix) 파일이 위치한다.-..

Apache Kafka는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트로 pub/sub 모델의 메시지 큐를 지원한다.마이크로서비스 아키텍처에서 메시지 브러커는 Message Backing Service로써 동작하며, 메시지의 처리를 통해 비동기 애플리케이션, DB 동기화, 보상트랜잭션 구현, PUB/SUB 구현 등 다양한 형태의 애플리케이션으로 응용될 수 있다.Kafka는 대표적인 메시지 브로커로써, RabbitMQ와 많이 비교된다.일반적으로 RabbitMQ는 대표적인 신뢰성 높은 메시지 브로커로써 각광받는다. 장애 발생 시에도 데이터 복원이 쉽고, 반드시 한번의 전송을 보장한다. 다만 성능면에서 Kafka 보다 떨어진다.Kafka는 대용량 실시간 처리에 특화되어 있다. 특히..

개요 마이크로서비스 아키텍처는 독립적으로 배포 및 확장 될 수 있는 서비스(Loosely Coupled)들을 조합하여 하나의 애플리케이션을 완성하는 아키텍처이다. 마이크로서비스를 적용하면 빠른 배포 주기와 장애 확산 차단, 대용량 분산환경 시스템 구축, 폴리그랏 프로그래밍 적용 등의 장점을 얻을 수 있으며, 최근 아니 2~3년 전부터 빠르게 Enterprise IT시장을 잠식해 나가고 있는 핫한 아키텍처라 할 수 있다. 마이크로서비스 아키텍처를 통해 분해된 서비스는 경량화 기반 민첩성/유연성을 보장하고, 확장성을 제공하며, 장애 탄력성을 통한 복구전략을 수립하는 등 Container Management Platform과 상통하는 아키텍처 방식으로 많은 주목을 받고있다. 다만 마이크로서비스 아키텍처는 In..

오늘은 마이크로서비스 아키텍처를 설계하는데 있어서 핵심 요소 중 하나인 API Gateway 제품 중 Tyk (타이크) 오픈소스 게이트웨이 설치 과정에 대해 살펴보겠습니다. 설치과정은 매우 간단합니다. Tyk의 아키텍처를 간단히 살펴보면 구성요소로 API Gateway, Dashboard, Pump 3요소 + Redis, MongoDB Dependency Module로 구성되어 있습니다. 파란 라인의 경우 관리자가 Tyk 대시보드로 접근하여 API Gateway에 수집된 Metrics를 확인하는 과정입니다. 주황 라인의 경우 API 소비자가 L4, DNS 등의 로드밸런서를 통해 이중화 또는 다중화 된 API Gateway에 접근하여 마이크로서비스를 호출하는 과정입니다. 마지막 빨간 라인의 경우 Dashb..
본 포스팅에서는 Spring Boot를 이용한 마이크로서비스 구축과정 중 개발자의 역할에 대해 알아보겠습니다. 기존 빅뱅 오픈을 목표로하는 사이트의 경우 모든 애플리케이션의 요구 사항과 설계를 프로젝트 초반에 정의할 것을 요구 (폭포수-Waterfall 개발 방법론)하여 프로젝트가 진행되는 과정에서 발생하는 새로운 요구 사항을 충족하거나 리팩토링할 여지나 개발 초기 단계에서 저지른 실수를 만회하기가 어렵다는 문제가 있습니다. 사실 프로젝트를 진행해 나가면서 새로운 비즈니스 요구 사항은 당연히 발생가능하며, 이해의 차이, 수정 등 끊임없는 변동이 일어나는 프로젝트 초 중반 단계에서 전통적인 워터풀 개발 방식은 다양한 문제를 발생시켜왔습니다. 강한 결합(Tightly Coupled)으로 인해 애플리케이션 컴..
본 포스팅에서는 Spring Boot를 이용한 마이크로서비스 구축과정에 대해 알아보겠습니다. 기존 빅뱅 오픈을 목표로하는 사이트의 경우 모든 애플리케이션의 요구 사항과 설계를 프로젝트 초반에 정의할 것을 요구 (폭포수-Waterfall 개발 방법론)하여 프로젝트가 진행되는 과정에서 발생하는 새로운 요구 사항을 충족하거나 리팩토링할 여지나 개발 초기 단계에서 저지른 실수를 만회하기가 어렵다는 문제가 있습니다. 사실 프로젝트를 진행해 나가면서 새로운 비즈니스 요구 사항은 당연히 발생가능하며, 이해의 차이, 수정 등 끊임없는 변동이 일어나는 프로젝트 초 중반 단계에서 전통적인 워터풀 개발 방식은 다양한 문제를 발생시켜왔습니다. 강한 결합(Tightly Coupled)으로 인해 애플리케이션 컴포넌트를 조그만 수..

본 포스팅에서는 Springframework과 MSA의 관계에 대해 살펴보도록 하겠습니다. Springframework은 자바 기반 애플리케이션을 구축하는 사실상 표준 개발 프레임워크가 되었습니다. Spring은 의존성 주입(Dependency injection)이라는 핵심 개념에 기반을 두고 있습니다. 일반적인 자바 애플리케이션이 각 클래스가 애플리케이션의 다른 클래스와 명시적으로 링크된 클래스로 분해됩니다. 링크는 코드에서 클래스 생성자를 직접 호출하는 것으로, 일단 코드가 컴파일되면 이러한 링크 지점은 변경될 수 없습니다. 이러한 이유로 DI를 활용한 개발 방법으로 다양한 자바 클래스 사이의 매개체 역할을 수행하며 클래스 의존성을 관리하게 되었습니다. 스프링의 기능을 빠르게 추가해 사용성을 높인 덕..
본 포스팅에서는 CI/CD를 활용한 MSA Automation에 대해 알아보겠습니다. CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례는 “CI/CD 파이프라인”이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됩니다. 다만 마이크로서비스에서의 Continuous Integration/Continuous Delivery는 일반 모놀로딕 애플리케이션과 차별점이 있습니다. 바로 Docker가 그 과정에 포함되면서인데요. Docker Image를 활용한 자동 빌드/배포 환경을 구축하고 Cloud 환경에서 어떤게 이용되는지 지금부터 하나씩 차근차근 살펴보겠습니다. CI..
- Total
- Today
- Yesterday
- nodejs
- JEUS6
- MSA
- git
- 마이크로서비스
- 오픈스택
- aws
- Architecture
- aa
- 마이크로서비스 아키텍처
- JEUS7
- Da
- SA
- openstack tenant
- Docker
- 쿠버네티스
- 아키텍처
- SWA
- apache
- openstack token issue
- k8s
- webtob
- node.js
- OpenStack
- JBoss
- API Gateway
- wildfly
- kubernetes
- TA
- jeus
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |