
MongoDB ShardingMongoDB Sharding에 대한 빠른 이해를 위해 공식 문서를 간략하게 정리하고자 합니다.Sharding?데이터를 여러 머신에 분산하는 방법MongoDB는 샤딩을 통한 수평적 확장을 지원수평적 확장: 시스템 데이터 세트와 로드를 여러 서버로 나누고 필요에 따라 서버를 추가하여 용량을 늘리는 것Sharded Cluster컬렉션 수준에서 데이터를 샤딩하여 클러스터의 샤드 전체에 컬렉션 데이터를 분산구성 컴포넌트shard: 각 샤드에는 샤드 데이터의 하위 집합이 포함.각 샤드는 복제본 세트로 배포되어야 함Routing with mongos: mongos는 클라이언트 애플리케이션과 샤딩된 클러스터 간의 인터페이스를 제공하는 쿼리 라우터 역할config servers: confi..

MongoDB MCP Server로 데이터 추출해보기지난 시간에 다룬 5분 만에 GitHub MCP Server 구축해서 GitHub 작업 시키기에 이어, 이번에는 MongoDB MCP Server 구축 방법을 소개하려고 합니다.MongoDB MCP Servermongodb-mcp-server 설정 역시 지난번에 다룬 GitHub MCP Server와 유사합니다.다른 MCP 서버와 동일하게 mcp.json 파일에서 MongoDB MCP Server 설정만 추가하면 준비가 완료됩니다.실제 MongoDB 클러스터에 연동{ "mcp": { // MCP 서버의 전체 설정을 담는 객체 "inputs": [], // 입력 소스(예: 파일, 폴더 등)를 지정하는 배열 "servers":..

MCP StartMCP(Model Context Protocol).들어만 보았던 MCP를 이제 직접 사용해 보려고 합니다. 처음에는 진입장벽이 높을 것이라고 생각했지만, 실제로 사용해보니 생각보다 매우 쉽게 AI를 활용할 수 있다는 것을 알게 되었습니다. 그럼 가장 쉽고 빠르게 MCP를 사용해볼 수 있는 GitHub MCP를 함께 살펴보겠습니다!MCPMCP(Model Context Protocol) ⁉️MCP는 다양한 인공지능 모델과 도구, 그리고 개발 환경 간의 상호 운용성을 높이기 위해 고안된 표준 프로토콜입니다. MCP를 통해 개발자는 AI 모델, 플러그인, 외부 서비스, 그리고 IDE(예: VS Code) 등 다양한 컴포넌트들을 손쉽게 연결하고 통합할 수 있습니다.주요 특징표준화된 인터페이스: ..

⚠️ 본문에서는 각 개념에 대한 자세한 내용을 다루지 않고, 어느 정도의 이해도가 있다는 전제로 큰 진행 과정만을 다루고 있습니다.따라서 자세한 내용은 각 내용에 첨부된 글을 참고해 주세요.🙇🏻♂️부족한 내용은 댓글로 남겨주시면 보완하도록 하겠습니다.다루는 내용JIB를 활용한 컨테이너 이미지 빌드/푸시AWS EC2무중단 배포모니터링도메인 등록SSL 인증서이해가 필요한 개념JIBAWS EC2DockerNginxprometheusGrafanaJIB를 활용한 컨테이너 이미지 빌드/푸시일반적으로 도커 허브에 이미지를 빌드하기 위해 Docker, Dockerfile이 필요한데Gradle, Maven에서 Jib plugin을 활용해 간편하게 이미지를 빌드하고 푸시하는 방법을 알아 보려고 합니다.JIB 설정sp..

Kafka Streams아파치 카프카 애플리케이션 프로그래밍 with 자바 도서 내용을 바탕으로 간략하게 작성되었습니다.카프카 스트림즈카프카 스트림즈는 토픽에 적재된 데이터를 기반으로 상태기반 또는 비상태기반으로 실시간 변환하여 다른 토픽에 적재하는 라이브러리스트림즈 애플리케이션은 내부적으로 스레드를 1개 이상 생성할 수 있으며, 스레드는 1개 이상의 태스크를 가짐스트림즈의 task는 스트림즈 애플리케이션을 실행하면 생기는 데이터 처리 최소 단위병렬처리카프카 스트림즈는 컨슈머 스레드를 늘리는 방법과 동일하게 병렬처리를 위해 파티션과 스트림즈 스레드(또는 프로세스) 개수를 늘려 처리량 향상실제 운영 환경에서는 장애가 발생하더라도 안정적으로 운영할 수 있도록 2개 이상의 서버로 구성하여 스트림즈 애플리케이션..

Java to KotlinKotlin version먼저 코틀린 설정을 위해 아무 .java 파일 우클릭 후 Convert Java File to Kotlin File 기능을 사용하면 OK, Configure Kotlin In the Project로 코틀린 설정이 가능합니다.JDK 21을 사용할 예정이라서 Kotlin 버전은 2.1.0으로 설정하였습니다.※ Which versions of Kotlin are compatible with which versions of Java?IDE의 도움으로 kotlin 설정을 마치면 build.gradle, settings.gradle 파일에 코틀린 설정이 추가됩니다.Kotlin 설정 및 gradle.kts로 변환䷿AS-IS) build.gradleplugins { ..

Prometheus & Grafana모니터링에 대한 부분을 다시 정리해 보려고 한다.서비스를 운영하며 어디에 어떤 문제가 발생했는지 사전 대응하고, 실제 문제 발생 시에도 원인을 빠르게 파악하고 대처하기 위해애플리케이션의 CPU, Memory, Connection, Request 같은 수많은 지표들을 확인하는 것이 필요Spring Actuator애플리케이션이 살아있는지, 로그 정보는 정상 설정 되었는지, 커넥션 풀은 얼마나 사용되고 있는지 등 확인Production-ready Features지표(metric): CPU 사용량추적(trace): 이슈 코드 추적감사(auditing): 고객 로그인, 로그아웃 이력 추적모니터링: 시스템 상태Dependencyimplementation 'org.springfra..

📊 동시성 제어 방식 비교SeriesJava Concurrency ControlDatabase Concurrency ControlRedis Concurrency ControlKafka Concurrency ControlCompare Concurrency Control⚠️ 로컬에서 테스트한 결과이고,서버 환경과 여러 요인들에 의해 결과가 달라질 수 있고, 정확하지 않을 수 있습니다.Case 01한정수량 : 50,000Total User : 296Processes : 8Threads : 37(DB Named 방식은 제외).시간 내에 모든 트래픽을 성공적으로 처리한 방식DB PessimisticRedis IncrKafka + Redis.일부 성공을 하긴 하였지만, 트래픽을 버티지 못하고 성능 문제가 발생한 ..