본문 바로가기

분류 전체보기93

RabbitMQ 실습하기 🔥 공부했던 이론을 바탕으로 프로젝트 실습을 진행해 보자! RabbitMQ 이론 정리😺 Blog: https://happy-coding.tistory.com/24[ RabbitMQ 실행 확인 ]도커에서 RabbitMQ 설치docker run -d --name rabbitmq -p5672:5672 -p 15672:15672 --restart=unless-stopped rabbitmq:management 도커에서 RabbitMQ 실행 확인 localhost:15672에 접속RabbitMQ 로그인 페이지Username및 Password에 guest/guest를 입력하여 접속하면 대시보드를 볼 수 있습니다.[ RabbitMQ 실습 ][ OrderApplication ]order Producer 설정Depen.. 2024. 8. 16.
[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.