본문 바로가기

전체 글74

[TIL 12] RabbitMQ 이론 정복하기 Today I Learned🔥 RabbitMQ의 이론을 한 페이지에 정리해 놓자!! [ RabbitMQ]RabbitMQ는 메시지 브로커입니다.메시지 브로커는 데이터(메시지)를 송신자(프로듀서)로부터 수신자(컨슈머)에게 전달하는 중간 매개체 역할을 합니다. RabbitMQ는 이러한 메시지를 큐(Queue)에 저장하고, 필요할 때 적절한 수신자에게 전달합니다.[ RabbitMQ의 역할 ]비동기 처리: 데이터를 비동기적으로 처리하여 시스템의 응답성을 높입니다.부하 분산: 여러 소비자에게 메시지를 분산시켜 시스템의 부하를 균형 있게 분산합니다.내결함성: 메시지를 안전하게 저장하여 시스템 장애 시 데이터 손실을 방지합니다.[ RabbitMQ 장단점 ]장점 메시지 지속성: RabbitMQ는 메시지를 디스크에 저장.. 2024. 8. 16.
Layered Architecture Pattern? 그게 뭔데! Chater 1. 프로젝트에 대한 튜터님의 피드백 내용은 "프로젝트에 Layered Architecture 를 적용해 보세요! "🔥내가 만든 코드의 문제점을 찾아보고 Layered Architecture 를 적용하여 프로젝트를 수정하고 발전시켜 보자!!  Chater 1. 과제 확인😺 Blog: https://happy-coding.tistory.com/23[ Layered Architecture ]소프트웨어 시스템을 논리적인 계층으로 분리하여 개발, 유지보수, 확장성을 용이하게 하는 디자인 패턴입니다.각 계층은 특정한 책임을 가지고 있으며, 다른 계층과 명확히 구분되어 있어야 합니다.정리: 각 구성 요소들이 관심사 분리를 달성하기 위해 책임을 가진 계층으로 분리한 아키텍쳐입니다.[ 관심사 분리 ]관.. 2024. 8. 15.
[TIL 11] Chater 1. 과제와 피드백 내용 Today I LearnedChater 1. 과제 제출에 대한 튜터님 피드백을 받게 되었다튜터님께서 해주신 피드백은 Layered Architecture Pattern에 대한 내용이었다🔥 경력이 많은 선임 개발자가 내 코드를 보고 해주는 조언인 만큼 새겨듣고, 문제를 파악하고, 기록하며 더 좋은 코딩 습관을 만들도록 하자!![ Chapter 1. 과제 발제 ]MSA, 인메모리 저장소(Redis cache), 프로젝트 관리 심화과정을 응용해 보는 개인 프로젝트 과제입니다패키지명 규칙과 포트 규칙 준수패키지명은 com.sparta.msa_exam 으로 설정하고 유레카 서버는 19090 포트로 실행되도록 설정해주세요.게이트웨이 서비스는 com.sparta.msa_exam.gateway 패키지로 추가하고 19.. 2024. 8. 15.
[TIL 10] 대규모 스트림 처리 Today I Learned대규모 시스템을 알아보고, 데이터 베이스 최적화와 데이터 일관성 유지에 대하여 공부하자!! 스포❗ - 내용이 길지만 어려운 내용은 없습니다ㅎ.. 맘 편히 읽어도 될 거 같아요 👏[ 대규모 시스템 ]인터넷 환경에서는 수백만 명의 사용자가 동시에 접속하고 상호작용할 수 있는 시스템을 구축해야 하는 상황이 자주 발생합니다.이러한 시스템은 단순히 많은 사용자를 처리하는 것뿐만 아니라, 안정성과 신뢰성을 유지하면서 고성능을 제공해야 합니다. [ 스케일 업 / 스케일 아웃 ]스케일 업(scale up): 수직적 규모 확장은 서버에 고사양 자원(더 좋은 CPU, 더 많은 RAM)을 추가하는 것을 뜻합니다.스케일 아웃(scale out): 수평적 규모 확장은 더 많은 서버를 추가하여 성능을.. 2024. 8. 13.
[Redis] Spring Boot 프로젝트에 캐싱 적용하기 🔥 @Cacheable, @CachePut, @CacheEvict 어노테이션의 사용법을 알아보고, 데이터 조회 결과를 캐싱해보자!중요❗ 헷갈릴수 있으므로 꼭 노션의 코드와 비교하며 읽도록 하자![ 설정 확인 ]우분투 도커에서 Redis 실행 확인docker psbuild.gradle dependencies { // jpa implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.springframework.boot:spring-.. 2024. 8. 13.
[TIL 9] 캐싱 개념과 캐싱 전략 이해하기 Today I LearnedChapter 1. 프로젝트에서 조회를 하면 캐싱 된 데이터를 가져오고, 데이터를 추가하면 캐시를 갱신해 주는 기능을 구현하고 사용했기 때문에 기록으로 남겨 두려고 한다.🔥 여기서는 캐싱의 개념과 전략에 대하여 이해하고, 실습은 추가로 블로그를 작성하고 기록하도록 하자.[ 캐싱 ]Redis에서 많이 활용되는 주제로 캐싱은 자주 사용되는 데이터를 더 빠른 캐시에 저장하는 기법을 부르는 용어입니다.[ 캐시 ]Cache는 본래 CPU 내부의 작은 영역으로, 정말 빈번히 접근하게 되는 데이터를 저장해두는 임시 기억 장치입니다. 기본적으로 데이터를 디스크에 저장하고,  데이터의 빠른 활용을 위해 메모리(RAM)에 저장한다면, 자주 사용하는 휘발성 데이터가 캐시에 저장됩니다.빈번하게 접.. 2024. 8. 12.