본문 바로가기

분류 전체보기277

[proxy] Envoy 이해하기 - Routing 개요안녕하세요. 오늘은 Envoy의 3번째 시간입니다. 이번시간에는 Envoy에서 사용할 수 있는 다양한 Routing 방법에 대해서 실습해보는 시간을 가져보도록 하겠습니다. 예제는 실전에서 주로 사용하는 예제를 기준으로 가져왔습니다.Path 기반 라우팅가장 먼저 Path 기반의 라우팅을 살펴보도록 하겠습니다. Path 기반의 라우팅은 Backend Cluster를 N개 등록하고 path에 따라서 라우팅되는 Cluster를 다르게 가져가는 방법입니다. 해당 방법을 통해서 apigateway 처럼 사용하 수 있습니다. 이 방법을 통해 리버스 라우팅을 할 수 있게됩니다. 각 서비스마다 path를 다르게 가져가는 방법입니다.테스트➜ 02-routing-proxy curl -X GET http://localh.. 2025. 4. 8.
[proxy] Envoy 이해하기 - 실습 (Listener, Cluster, Route, Filter의 개념) 개요안녕하세요. 이전 포스팅 Envoy 이해하기 - 기본 이론편에서 마지막에 envoy.yaml 파일의 기본 구성을 함께 확인해 보았었습니다. 그때는 잠깐 언급만 하고 넘어가는 수준이었는데요. 오늘은 제대로 한번 해당 파일을 함께 보고 Envoy의 구성을 알아보도록 하겠습니다.Envoy 구성Envoy의 기본적인 아키텍처와 구성요소는 아래와 같습니다.ListenerEnvoy가 수신 대기할 IP와 포트를 정의Filterfilter_chain이란 어떠한 조건으로 요청을 처리할 것인지 정의예를 들어 L4 계층 기반으로 라우팅할지 L7 계층 기반으로 라우팅할지 등의 상위 레벨의 설정Router실제 라우팅의 조건 및 라우팅할 서비스 등을 지정L7 이라면 URL 경로, Header 기반 라우팅 설정이 가능L4 라면 .. 2025. 4. 5.
[DynamoDB] DynamoDB Schema Modeling 하는 과정 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요DynamoDB는 RDB와 그 구조가 다르다는 것을 이전시간들을 걸쳐서 알아보았습니다. 다시 한번 지금까지 나왔던 내용을 되짚어 보면 아래에 나열된 점이 DynamoDB의 특성입니다.확장성을 위해서 Join을 지원하지 않는다HTTP로.. 2025. 3. 29.
[proxy] Envoy 이해하기 - 기본 이론편 개요마이크로서비스 아키텍처가 보편화되면서, 서비스 간 통신의 복잡성도 함께 증가했습니다. 서비스 간 라우팅, 로드 밸런싱, 모니터링, 보안 등 다양한 과제를 해결하기 위해 등장한 것이 바로 Envoy입니다. Envoy는 쿠버네티스 환경에서 Data Plane으로써 application의 side car로 많이 사용되는데요. 오늘은 이러한 Envoy에 대해서 알아보는 시간을 가져보도록 하겠습니다.Envoy의 탄생 배경Envoy는 원래 Lyft에서 개발되었습니다. Lyft는 수많은 마이크로서비스를 운영하면서 네트워크 관련 문제에 지속적으로 부딪혔고, 기존의 솔루션으로는 문제를 해결하기 어려웠습니다. 이 과정에서 새로운 L7 프록시가 필요하다는 결론에 도달했고, 그렇게 탄생한 것이 Envoy입니다. 이후 20.. 2025. 3. 28.
[DynamoDB] 아키텍처 구조 이해하기 (flow, RR, Partition) 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요안녕하세요. DynamoDB의 사용에 대해서 알아보는 과정도 어느덧 후반부에 접어들었습니다. 제가 생각했던 Contents는 이제 이것과 Single Table Design, 그리고 DynamoDB Table을 설계하는 과정이 남아있.. 2025. 3. 23.
[DynamoDB] DynamoDB를 사용할 때 알아둬야 할 제한사항과 그 철학 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요안녕하세요. 시스템을 사용할 때 그 시스템의 제한 사항을 이해하는 것은 중요합니다. 제한 사항을 알아두어야 시스템을 사용해서 원하는 목표를 원활하게 달성할 수 있기 때문입니다. 가령 예를 들어 dynamoDB의 item의 최대 사이즈.. 2025. 3. 22.
[DynamoDB] DynamoDB http API 실습하기 - Read 편 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요안녕하세요. 저희는 지난 포스팅 [DynamoDB] DynamoDB http API 실습하기 - Write 편에서는 DynamoDB API 중 생성, 수정 그리고 삭제에 대한 Write API를 알아보았습니다. 오늘은 이어서 Read.. 2025. 3. 15.
[DynamoDB] DynamoDB http API 실습하기 - Write 편 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요안녕하세요. 우리는 이전 포스팅인 [DynamoDB] 그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)에서 DynamoDB는 HTTP로 통신한다는 사실을 알게 되었.. 2025. 3. 3.
[기타] String으로 정렬하기 - 기본적인 룰, 시간, ULID 개요안녕하세요. 요구 사항으로 특정 리스트에 대해서 시간순으로 정렬해달라는 요구사항을 받았습니다. 이를 정렬하기 위해서 어떤 데이터 타입의 형태를 사용하실건가요 ? 혹시 timestamp만 고려하고 있으시진 않으신가요 ? timestamp 정말 좋은 방법이지만 가독성이 좋지 않은건 누구나 아는 사실입니다. 혹시 String Type의 시간 표현 방법인 ISO_8601로 정렬하는건 생각해보셨나요 ? 혹시 이게 제대로 정렬될지 걱정이 들지 않으시나요 ?저도 이와 같은 고민을 했고 여러 테스트를 진행해보았습니다. 오늘은 String 타입의 형태의 정렬에 대해서 한번 알아보도록 하겠습니다.String의 정렬String의 정렬은 일반적으로 시스템에 따라서 정렬 순시가 다를 수 있습니다만 기본적으로 사전순(lexi.. 2025. 2. 26.
[DynamoDB] DynamoDB는 읽고 쓰는 만큼 비용을 냅니다 개요안녕하세요. 오늘은 DynamoDB에서의 비용계산에 대해서 알아보도록하겠습니다. 일반적으로 aws의 다른 SaaS 들은 서버 스펙과 거기서 사용하는 스토리지의 양, 그리고 네트워크 비용이 합해져서 비용이 계산됩니다. 그런데 이와는 다르게 DynamoDB 서버 스펙이 아닌 읽고 쓰는 데이터의 량 만큼을 계산해서 비용을 냅니다. 잘 사용하면 비용이 절감되지만 잘못사용하면 비용 폭탄을 맞게되는 이유입니다. 오늘은 DynamoDB의 비용 계산하는 방법에 대해서 알아보도록 하겠습니다.DynamoDB 비용DynamoDB의 비용 계산은 다소 복잡합니다. 비용에 영향을 주는 요소는 아래와 같습니다.용량 모드(Capacity Mode)읽기 및 쓰기 용량 단위(Capacity Unit)스토리지 사용량테이블 클래스 선택.. 2025. 2. 17.
[DynamoDB] DynamoDB에서 사용하는 용어 정리 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요안녕하세요 ! 이전시간에는 RDB와의 비교를 통해서 DynamoDB가 가지는 특이점들을 알아보았습니다. 오늘 포스팅에서는 DynamoDB 사용의 기본으로 돌아가서 용어들과 마지막으로 DynamoDB의 비용을 계산하는 방법에 대해서 알.. 2025. 2. 13.
[DynamoDB] 그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict) 목차DynamoDB와 같은 Wide Columns DB는 RDB에 비해서 더 확장성(scalability)을 가지는가 ?그거 알아요 ? DynamoDB는 HTTP로 통신한다는거 (RDB 운영 이슈, Transaction, Conflict)DynamoDB에서 사용하는 용어 정리DynamoDB는 사용한 만큼 비용을 냅니다http API 실습히가 - Write 편http API 실습히가 - Read 편제약사항과 그 철학아키텍처 구조 이해하기Schema Modeling 하는 과정개요DynamoDB의 Java SDK 코드중 AmazonDynamoDBClient 코드를 따라가다보면 재밌는것을 확인할 수 있습니다. 아래를 보도로 하겠습니다./** * Invoke the request using the http cli.. 2025. 2. 9.