일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- msSQL
- @P0
- BFS
- 13908
- 파라메트릭
- OFFSET
- upper_bound
- softeer
- 오퍼레터
- Kafka
- 경력
- BOJ
- 처우산정
- 매개변수탐색
- 퇴사통보
- boj #19237 #어른 상어
- 물채우기
- 백트래킹
- 성적평가
- 기술면접
- Docker
- 이분탐색
- incr
- 백준
- 처우협의
- dfs
- 6987
- 연결요소
- compose
- 소프티어
- Today
- Total
목록분류 전체보기 (633)
기술 블로그
Redis의 Data 초기화 PS C:\Users\park7> docker exec -it [ContainerId] redis-cli 127.0.0.1:6379> flushall 해당 프로젝트를 위한 coupon_create 토픽 생성 PS C:\Users\park7> docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic coupon_create WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use eit..
Windows PowerShell 창 1 토픽 생성 PS C:\study\kafka> docker exec -it kafka kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testTopic Created topic testTopic. 프로듀서 실행 PS C:\study\kafka> docker exec -it kafka kafka-console-producer.sh --topic testTopic --broker-list 0.0.0.0:9092 >hello → 창 2를 Open하고, 컨슈머 실행 명령어까지 실행 후 hello 입력하면, 창 2에서 hello가 출력됨. > Windows PowerShell 창 2 컨슈머 실행 PS C..

docker kafka를 사용하기 위해서는 compose가 설치되어 있어야 하는데, docker desktop이 설치되어 있다면, 자동으로 설치가 되어 있다. docker compose 설치 여부 PS C:\Users\park7> docker-compose -v docker-compose version 1.29.2, build 5becea4c docker compose 파일을 만들 폴더를 만들어야 한다. PS C:\Users\park7> cd C:\study PS C:\study> mkdir kafka PS C:\study> cd kafka PS C:\study\kafka> New-Item docker-compose.yml 그리고, docker-compose.yml 파일을 열어서, 아래 내용을 복사 붙여..
레이스 컨디션이 발생하는 곳 : 쿠폰 갯수를 가져오는 부분 하지만, 쿠폰 발급 전체를 싱글 스레드로 작업한다면, 성능이 좋지 않을 것이다. 먼저 요청한 사람의 쿠폰이 발급된 이후에 다른 사람들의 쿠폰 발급이 가능해지기 때문이다. 아래 예시를 보자. 예시) 10:01 1번 사용자 쿠폰 요청 10:03 1번 사용자 쿠폰 발급 → 2~N번 사용자는 10:03까지 기다려야 한다. synchronized : 하나의 서버에만 보장되고, 여러 서버에서는 보장되지 않는다. mySql redis를 활용한 Lock : 하지만, 우리가 원하는건 쿠폰 갯수에 대한 정합성인데 Lock을 활용하여 구현한다면, 발급된 쿠폰 갯수를 가져오는 것부터 쿠폰을 생성하는 것까지 Lock을 걸어야함. → 성능 저하. 위의 예시와 비슷함. t..
PS C:\Users\park7> docker ps CONTAINER ID IMAGE 972184460c21 redis ccdc10043dd3 mysql PS C:\Users\park7> docker exec -it 972184460c21 redis-cli 127.0.0.1:6379> incr coupon_count (integer) 1 127.0.0.1:6379> incr coupon_count (integer) 2 127.0.0.1:6379> incr key:value 구조로, value의 값을 1씩 증가시킨다. 최초의 key는 0이라고 생각하기 때문에 1을 증가시킨 1을 return한다. 64비트 부호 정수로 범위는 -9,223,372,036,854,775,808(263) ~ 9,223,372,03..
레이스 컨디션(Race Condition) 둘 이상의 프로세스나 스레드가 공유자원에 동시에 접근하여 작업하려고 할 때, 비정상적인 결과가 발생하는 것 레이스 컨디션으로 인해 발생할 수 있는 문제점과 해결방법 멀티 스레드 환경에서는 프로세스 내의 모든 자원을 공유할 수 있다는 점에서 동기화 문제 발생 해결방법 : 동시에 여러 스레드가 공유 자원에 접근할 수 없도록 함.(한 개의 자원에 한 스레드만 접근 할 수 있게 하는 것을 의미) 하지만, 위의 해결방법으로 아래와 같은 문제점이 발생 스레드가 자원을 독점적으로 사용하고 있어 다른 스레드가 자원에 접근하려고 락을 획득하기 위해 무한 대기할 수 있는 상황이 발생할 수 있음. → 교착상태(DeadLock, 데드락) 발생 교착상태는 둘 이상의 프로세스가 다른 프..
선착순 100명에게 할인쿠폰을 제공하는 이벤트를 진행하고자 한다. 이 이벤트는 아래와 같은 조건을 만족하여야 한다. - 선착순 100명에게만 지급되어야한다. - 101개 이상이 지급되면 안된다. - 순간적으로 몰리는 트래픽을 버틸 수 있어야합니다.