최신 글 [proxy] Envoy 이해하기 - 실습 (Listener, Cluster, Route, Filter의 개념) 개요안녕하세요. 이전 포스팅 Envoy 이해하기 - 기본 이론편에서 마지막에 envoy.yaml 파일의 기본 구성을 함께 확인해 보았었습니다. 그때는 잠깐 언급만 하고 넘어가는 수준이었는데요. 오늘은 제대로 한번 해당 파일을 함께 보고 Envoy의 구성을 알아보도록 하겠습니다.Envoy 구성Envoy의 기본적인 아키텍처와 구성요소는 아래와 같습니다.ListenerEnvoy가 수신 대기할 IP와 포트를 정의Filterfilter_chain이란 어떠한 조건으로 요청을 처리할 것인지 정의예를 들어 L4 계층 기반으로 라우팅할지 L7 계층 기반으로 라우팅할지 등의 상위 레벨의 설정Router실제 라우팅의 조건 및 라우팅할 서비스 등을 지정L7 이라면 URL 경로, Header 기반 라우팅 설정이 가능L4 라면 .. 2025.04.05 [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.03.29 [proxy] Envoy 이해하기 - 기본 이론편 개요마이크로서비스 아키텍처가 보편화되면서, 서비스 간 통신의 복잡성도 함께 증가했습니다. 서비스 간 라우팅, 로드 밸런싱, 모니터링, 보안 등 다양한 과제를 해결하기 위해 등장한 것이 바로 Envoy입니다. Envoy는 쿠버네티스 환경에서 Data Plane으로써 application의 side car로 많이 사용되는데요. 오늘은 이러한 Envoy에 대해서 알아보는 시간을 가져보도록 하겠습니다.Envoy의 탄생 배경Envoy는 원래 Lyft에서 개발되었습니다. Lyft는 수많은 마이크로서비스를 운영하면서 네트워크 관련 문제에 지속적으로 부딪혔고, 기존의 솔루션으로는 문제를 해결하기 어려웠습니다. 이 과정에서 새로운 L7 프록시가 필요하다는 결론에 도달했고, 그렇게 탄생한 것이 Envoy입니다. 이후 20.. 2025.03.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.03.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.03.22 more 인기 글 [database] 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock) 안녕하세요. 오늘은 낙관적 락과 비관적 락의 개념에 대해서 알아보는 시간을 가져보도록 하겠습니다.DB 충돌 상황을 개선할 수 있는 방법database에 접근해서 데이터를 수정할 때 동시에 수정이 일어나 충돌이 일어날 수 있습니다. 우리는 이런 상황을 해결할 수 있도록 코딩을 진행해야합니다. 어떻게 해결할 수 있을까요 ?첫번째, 테이블의 row에 접근시 Lock을 걸고 다른 Lock이 걸려 있지 않을 경우에만 수정을 가능하게 할 수 있습니다.두번째, 수정할 때 내가 먼저 이 값을 수정했다고 명시하여 다른 사람이 동일한 조건으로 값을 수정할 수 없게 하는 것입니다.비관적 락(pessimistic lock)비관적 락은 Reeatable Read 또는 Serializable 정도의 격리성 수준을 제공합니다. D.. 2021.07.09 [markdown] mermaid를 이용해서 UML 그리기 - 플로우차트 안녕하세요. 오늘은 mermaid에 대해서 알아보는 시간을 가져보도록 하겠습니다.mermaid란 markdown 문법으로 diagram을 그려주는 라이브러리입니다.mermaid 란 ?mermaid는 markdown으로 UML을 그릴 수 있는 언어입니다.이 mermaid를 이용하면 쉽고 직관적으로 UML을 그릴 수 있습니다.수도 코드를 통해서 작성하기 때문에 다이어그램 뿐만 아니라 수도 코드를 통해서도 흐름을 이해할 수 있다는 것도 장점이라고 여겨집니다.그렇다면 실제로 mermaid를 사용하는 방법에 대해서 알아보도록 하겠습니다.pluginmermaid를 사용하기 위해서는 markdown에 plugin이 필요합니다.editor 별 plugin 리스트를 참조해서 본인이 사용하시는 editor에 플러그인을 .. 2022.01.09 [Linux] top 명령어로 서버의 상태 파악하기 안녕하세요. 오늘은 linux의 top 명령어어 대해서 분석하는시간을 가져보도록 하겠습니다.TOP 명령어top 명령어는 현재 OS의 상태를 나타내주는 CLI 어플리케이션입니다. 메모리 사용량, CPU 사용량 등을 나타내주며 top를 실행하는 동안에는 주기적인 업데이트로 실시간에 근접한 내용을 보여줍니다. 리눅스에서 top 명령어를 실행하면 아래와 깉이 노출됩니다. 위에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함하고 있습니다.요약 영역요약 영역은 top에서 상단에 위치하고 있습니다. 이 요약영역은 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려줍니다. 요약 영역에 나타나는 대표적인 값은 시간, 유저, 로드 에버리지(Load Average), 테스크(Task.. 2021.02.23 [UML] 클래스 다이어그램 이해하기 [UML] 클래스 다이어그램 이해하기[UML] 시퀀스 다이어그램 이해하기안녕하세요. 오늘은 클래스 다이어그램에 대해서 이야기 해보고자 합니다. 최근 레거시 시스템의 구조개선을 조금씩 하고 있습니다. 그러면서 객체의 구성 및 도메인 모델을 어떻게 가져가야할지 고민을 하게 되었습니다. DDD 관련된 책이라던지 찾아보는데 이때 기본이 되는게 UML, 특히 클래스 다이어그램 이라는 것을 알 수 있었습니다. 지끔까지는 막연한 지식은 있지만 이번 기회에 명확하게 이를 이해하고자 UML, 그 중에서도 클래스 다이어그램에 대해서 정리해보고자 합니다.UML 이란먼저 UML이란 Unified Modeling Language의 약자로 도메인(해결하고자 하는 목표, ex) 결재시스템 등)을 모델로 표현해주는 대표적인 모델링 .. 2020.03.29 ChatGPT 알아보기 - API 사용하기 안녕하세요. 이전 시간에는 ChatGPT의 동작 과정과 프롬프트(Prompt)에 대해서 알아보는 시간을 가졌었습니다. 프롬프트 엔지니어링을 통해서 서비스에서 ChatGPT를 써볼 수 있지 않을까 ? 라고 고민하실 수 있습니다. 저도 고민하고 있고 실제로 사용하는것도 API 하나로 쉽게 가능합니다.오늘 포스팅에서는 ChatGPT를 프로젝트에 적용하기 위해서의 API의 사용방법에 대해서 알아보도록 하겠습니다.Open API 사용방법https://openai.com/blog/introducing-chatgpt-and-whisper-apis 사이트에 접속하여 로그인을 진행합니다.로그인을 하게되면 3가지를 선택할 수 있습니다. 해당 UI에서 제일 오른쪽의 API를 선택합니다.그 후 프로필을 선택하고 View AP.. 2023.05.24 more