본문 바로가기

IT 서비스29

잔잔한 오류 일기 - Mysql에는 order를 못사용한다. CREATE TABLE example ( id INT NOT NULL, `order` INT NOT NULL -- ✅ 정상 작동);engine=InnoDB" via JDBC [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order integer not null, start_date date not null, youtube_titl' at line 8] Spring에서 테이블 생성이 안되는 오류가 발생했습니다.그 이유를 살펴보니 컬럼 이름을 order로 넣은 것이 문제였습니다... 2025. 7. 11.
Next.js 이미지 수정 시 캐시 무효화 관리자 기능에서 이미지 등록을 구현하였습니다. 하지만 이미지 수정후에 다시 조회를 할때 이미지를 정상적으로 조회하지 못하였습니다. 원인을 찾아보니 이미지를 새로 가져오지 않고, 한번 조회한 뒤에는 캐시로 조회를 하니 이미지가 정상적으로 조회되지 않았습니다.이를 해결하기 위해 캐시 무효화 전략을 사용했습니다. 전략은 간단합니다.브라우저가 이미지를 캐싱 안 된 새로운 파일이라고 인식하도록 img url 뒤에 임의의 값을 매번 새롭게 같이 할당해주면 되었습니다. 이렇게 하면 이미지의 동적 할당 캐싱 무효화를 성공적으로 할 수 있다.이제 뒤로갔다, 앞으로 갔다, 왔다 갔다, 수정, 삭제 뭘 해도계속 새로운 이미지가 동적으로 할당된다. // 캐시 문제를 해결하기 위해, 요청 URL에 타임스탬프를 추가하고 no.. 2025. 6. 27.
Kafka + CDC 기반 알림 시스템: 구조를 왜 다시 고민하게 되었을까? 현재 구조현재 알림 시스템은 다음 그림처럼 구성되어 있습니다. 저번글에서 말했지만 해당 구조는 다음과 같은 이점이 있습니다. 서비스 서버는 비즈니스 로직에만 집중백오피스는 Kafka 메시지를 구독하여 알림 처리서버 간 결합도는 낮아졌고, 확장도 쉬움 https://agongstory.tistory.com/87 [ 시퀀스 백오피스 ] 왜 나는 백오피스 서버에 API 대신 DB를 바라보게 했는가 – 실시간 알림 설계🟦 Situation (상황)저희 서비스 백오피스 서비스에는 신고가 들어오면 알림을 보내고 처리해야 하는 시스템이 필요했습니다.처음 설계는 단순했습니다. 신고가 발생하면 서비스 서버가 관리자agongstory.tistory.com 🚨문제는 백오피스 내부에 있다백오피스에서 Kafka 메시지를 수.. 2025. 6. 7.
Kafka + debezium mariadb connector 구축 ( kraft모드 + debezium 3.1버전) 환경mariadb : 11.7kafka-connect : debezium connect : 3.1.2kafka: cp-kafka 7.9.1 버전 이미지, kraft모드mariadb : 11.7 참고debezium 2.9이상부터는 mariadb connector와 mysqcl connector가 분리되었습니다. 2.7버전 이상부터 debezium은 docker-hub가 아닌 quay.io를 통해 배포됩니다. 1. 컨테이너 생성mairadb, kafka, kafka-ui(선택), kafka-connect 컨테이너를 생성합니다.services: mariadb: image: mariadb:latest container_name: seqeunce-mariadb-server e.. 2025. 6. 5.