목차 Distributed Transaction 분산 트랜잭션은 여러 개의 컴퓨터, 혹은 노드, 서버에 걸쳐 실행되는 트랜잭션이다. 정의상 두 개의 컴퓨터 사이의 트랜잭션도 분산 트랜잭션이라 부를 수 있지만, 보통 분산 트랜잭션이라고 하면 대규모 분산 시스템 혹은 네트워크에서 이루어지는 것을 가리키며 트랜잭션과 마찬가지로 데이터 일관성과 안정성을 보장하기 위해 사용된다. 하지만 분산 시스템은 그 특유의 복잡성 때문에 ACID원칙을 전부 지키기는 어려운데, 이를 최대한 보장하기 위한 기술에 대해 몇 가지 정리하고 넘어가겠다. ACID Atomicity(원자성) 각 트랜잭션 작업은 원자성을 지녀야 한다. 이 말은 트랜잭션이 전부 성공하거나 전부 실패해야 함을 뜻한다. Consistency(일관성) 트랜잭션..
목차 분산 환경(Distributed Environment)은 여러 대의 컴퓨터와 네트워크를 연결해 작업을 분산하고, 결과는 하나로 모아 마치 하나의 시스템인 것처럼 보이도록 구성된 환경을 말한다. 이를 위해 분산된 컴퓨터, 서버, 혹은 노드(및 데이터베이스) 간의 정보 공유를 위한 통신이 반드시 필요한데 이 글에선 주로 MSA 관점에서 그 대표적인 방법들의 장단점에 대해 정리한다. 참고로 나열 순서는 지난번에 리뷰했던 논문에서 실무자들이 가장 많이 사용한다고 응답한 순서를 따른다. 2023.03.31 - [Development/Paper Review] - [MSA]뜬금 논문 리뷰 - j.jss.2022.111521 [MSA]뜬금 논문 리뷰 - j.jss.2022.111521 이것저것 찾아다니며 공부하는..
목차 오늘 오전 내내 수직적, 수평적 분할에 대해 공부했지만 지금도 헷갈려 죽겠다. 사람마다, 게시글마다 쓰는 단어도 다르고 개념도 뒤죽박죽이라서.. 그 혼란에 내가 한 스쿱 더하는 느낌이 없지 않지만, 그래도 내가 이해한 분할에 대해 정리하고 넘어가야겠다. 기존의 모놀리식 아키텍처는 위 그림과 같이 모든 서비스와 레이어를 하나로 뭉쳐서 개발했다. 이는 초기개발이 쉬운 등 장점이 있지만 확장성이 떨어지는 단점도 함께 존재했는데, 장점과 단점에 대한 이런저런 기초는 이전 글에 정리했으니 여기선 넘어가기로 한다. https://gnidinger.tistory.com/800 [MSA]Microservice Architecture(MSA) 튜토리얼 MSA란 정확하게 정의된 어휘는 아니지만 대략 서비스를 잘게 쪼..
목차 MSA에 대한 논문을 읽고 리뷰하면서, MSA자체에 대한 개념도 개념이지만 새로운 단어를 많이 접하게 됐다. 일단 되는대로 메모장에 옮겨 적어두기는 했는데, 오늘부터 하나씩 쪼개며 머릿속에 집어넣어 보자. CAP Theorem CAP 정리, 혹은 가설을 제시한 사람의 이름을 딴 브루어 정리는 이론 컴퓨터과학의 정리 중 하나이다. 정확한 단어 사용을 위해 굳이 다시 강조하자면, CAP는 2002년에 증명이 끝난 정리이다. 이는 마치 피타고라스의 정리와 같이 법칙보다 엄밀하게 증명된, 신뢰할 수 있는 대상이라는 뜻이다. 그 내용을 요약하면 다음과 같은데, C, A, P 세 가지를 모두 만족시키는 분산 데이터 저장소는 없다. 여기서 C, A, P란 각각 아래와 같은 그림으로 나타낼 수 있다. Consis..
목차 서비스의 규모와 사용자가 증가해 한 대의 서버로는 트래픽을 감당할 수 없을 때, 보통은 비용이 많이 드는 수직적 확장(Scale-Up) 대신 수평적 확장(Scale-Out)을 선택한다. 이처럼 수평적으로 확장된 서버를 로드밸런스와 함께 사용하면 쉽게 서버의 부하를 분산시킬 수 있다. 하지만 이때 서버마다 사용하는 데이터베이스 역시 분산되면서 기존에는 존재하지 않았던 문제가 생기게 된다. 바로 세션을 사용하는 경우의 사용자 정보 및 요청 저장이 분산된다는 것인데, 예를 들면 A서버에 저장된 세션아이디를 가진 고객이 B서버로 요청을 했을 때 B서버는 세션 정보를 가지지 않기 때문에 사용자에게 새로운 자격증명, 즉 로그인 등을 요구하게 된다. 즉, 서버 사이의 데이터 정합성이 깨질 수 있다는 말이다. 조..
MSA란 정확하게 정의된 어휘는 아니지만 대략 서비스를 잘게 쪼개 여러 가지 이득을 노리는 구조이다. 반대말까진 아니지만 비교되는 구조로 모놀리식 아키텍처(Monolithic Architecture)가 있으며 최근 스타트업의 기술블로그를 구경하면 모놀리식에서 MSA로 전환한다는 말이 많이 보인다. 이 글에서는 두 아키텍처의 간단한 비교와 장단점에 대해서 알아보자. Monolithic Architecture 모놀리식 아키텍처는 이름 그대로 하나의 구조에 모든 서비스가 포함된 구조를 가리킨다. 크고 아름다운 하나의 구조 안에 모든 서비스가 들어있기 때문에 비교적 단순하며, 이에 따른 장단점은 아래와 같다. 장점 단순한 구조를 가지고 있기 때문에 개발 난이도가 낮고 속도가 빠르다. 하나의 통합된 DB를 가지기..
- Total
- Today
- Yesterday
- Algorithm
- 백준
- 기술면접
- Python
- 파이썬
- 스프링
- 면접 준비
- 세계일주
- Backjoon
- spring
- 동적계획법
- 세모
- 리스트
- 야경
- 중남미
- 유럽
- BOJ
- 지지
- 칼이사
- 여행
- 유럽여행
- 맛집
- 알고리즘
- java
- 세계여행
- 남미
- a6000
- 자바
- RX100M5
- 스트림
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |