
Kafka?실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산형 데이터 스트리밍 플랫폼 API로 바로 요청하는 것이 아닌 카프카에서프로듀서가 메시지를 생산해서토픽으로 메시지를 보내고컨슈머가 토픽의 메시지를 가져와 사용하는 애플리케이션 💁🏻 용어정리프로듀서 : 토픽으로 데이터를 publishing컨슈머 : 구독하는 토픽으로부터 데이터를 가져온다(polling)토픽 : 데이터가 들어가는 장소, 여러개의 파티션으로 구성 파티션 : Queue와 같은 FIFO형태브로커 : 카프카 애플리케이션이 설치된 서버 주키퍼 : 브로커 health check 등 카프카 클러스터의 상태를 관리 ✨ 중요 ✨✔︎ 컨슈머는 파티션 polling할 때마다 offset값을 커밋해 에러가 발생하면 어디까지 데이터를..

Cache 캐시란 ?자주 사용하는 데이터나 값을 미리 복사해 놓은 임시저장소 아래 보이는 저장공간 계층구조에서 처럼 캐시는 저장공간이 잓고 비용이 비싼 대신 빠른 성능을 제공한다. 🤔 Cache를 사용하면 좋은 경우 - 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우 ( 서버의 균일한 API 데이터 ) - 반복적으로 동일한 결과를 돌려주는 경우 ( 이미지나 썸네일 등 ) 🧑🏻💻 Cache 사용 사례 - DNS : 웹사이트 IP를 기록해두고 웹사이트 접근을 위한 DNS 조회 수를 줄인다. - CPU : 자주 접근하는 데이터의 경우, 메모리에 저장해두고 빠르게 접근할 수 있도록 한다. - CDN : 이미지나 영상과 같은 컨텐츠를 CDN 서버에 저장해두고 어플리케이션에 접..

📗 Spring Java Mysql 사용한 프로젝트로 아래 시나리오 기반으로 발생할 수 있는 멀티스레드 혹은 분산환경에서 동시성 문제를 해결하기 위한 분석 내용입니다. Ecommerce 프로젝트 시나리오 (주요 API)사용자 잔고 충전 / 사용 선착순 쿠폰 발급상품 조회주문 / 결제상위 상품 조회📌 동시성 문제란 ? 동일한 하나의 데이터에 두개이상의 스레드 혹인 세션에서 가변 데이터를 동시에 제어할 때 나타나는 문제로, 데이터의 정합성이 깨지는 문제를 말합니다. Race Condition두개 이상의 스레드가 공유 데이터에 액세스 할 수 있고, 동시에 변경하려 할 때 발생 할 수 있는 문제 같은 데이터를 동시에 변경 ( 공유된 가변 데이터 ) 하려해서 작업 중 하나가 누락될 수 있다.Dead Loc..
1주 차 발제 과제 : 동시성제어 & TDD기반 개발이전의 회사에서 테스트 코드를 작성해 본 경험이 없었고, TDD에 대한 개념도 이번기회에 정확하게 알게 되었다. TDD 개발을 시작하는 방법에 대해 듣고 TDD로 개발을 해야지!! 생각했지만, 원래 개발하던 습관이 아니라 쉽지 않았다.앞으로 TDD개발이 습관화 될 수 있도록 연습해야겠다고 생각했다 혼자 과제해결을 위해 하루를 보내고 팀원들과 멘토링을 듣게 되었고, 과제를 하면서 궁금했던 사항들과 과제 해결 방향에 대해서 제안을 많이 해주셨다. 그냥 구글링을 해서 알아보는 것보다 확실히 방향을 알고 알아보니 어떻게 개발을 해야 할지 길이 잡히는 느낌이었다. 과제를 해결하고 회고를 하면서 또 한 번 중요하게 느끼게 된 것은 내가 아는것과 모르는 것을 명..
Java 21 에서는, virtual threads (introduced in Project Loom) 를 완벽하게 지원하므로 "synchronized" 와 같은 기존 동시성 기본 요소를 사용하면 애플리케이션의 성능과 확장성에 부정적인 영향을 미칠 수 있습니다. "synchronized" 가 virtual threads와 어떻게 충돌할 수 있는지는 다음과 같습니다.1. Synchronized Blocks은 플랫폼 스레드에 연결How It Works:"synchronized" 는 platform threads (i.e., OS threads)에 연결된 내장 잠금(intrinsic lock)에 의존한다."synchronized" 블록이 입력되면 스레드가 Lock을 획득하고 동일한 블록에 진입하려는 다른 스레..
- Total
- Today
- Yesterday
- 항해후기
- Java
- 캐시스탬피드
- 백엔드개발
- postgresql 다운로드
- html
- 프로그래밍
- tdd개발
- spring.io.start
- 캐시란
- 티스토리챌린지
- 풀스택
- synchronized 단점
- 개발자
- google commit convention
- java test 개발
- Grammarly
- commit convetion
- ChatGPT
- 오블완
- postgresql brew
- 웹개발
- mock사용법
- 더현대 크리스마스 현장대기
- css
- spring
- JavaScript
- API
- Springboot jpa
- mock해야하는대상과아닌것
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |