배치 처리 시에는 대량의 데이터를 처리하는 경우가 대부분이다. 하지만 많은 개발자가 배치 처리 성능에 대해 쉽게 생각한다. 100개의 데이터는 한번에 처리할 수 있지만 1000만개의 데이터는 한번에 처리 할 수 없다. 그래서 페이징 처리를 해서 청크 단위로 처리한다. 보통 mysql에서 청크 처리를 하려면 페이징 처...
결제 모듈에는 결제 결과를 각 서비스에 전달하는 기능이 있다. 현재 메시지는 동기식으로 결제 완료 후 1회 전달되며, 각 서비스에서 콜백 처리 불가가 되더라도 재시도 해주지 않는다. [!info] PG사에서는 응답코드가 200이 아니면 결과 메시지를 재전송 해주고 있다. 카드 결제, 네이버페이 등 동기로 작동하는 기능은 1회 동기로 전달하는...
어느날 부터 개발, QA환경 구독결제 스케줄러에서 Connection Reset 에러가 발생했다. 스케줄러는 결제모듈에 HTTP를 통해 결제 요청을 하게 되는데 첫번 째 요청만 실패하고 그 다음 요청은 성공하는 현상을 보이고 있었다. 원인을 찾아서.. 왜 갑자기 잘 되던 소스가 문제를 일으키는지 찾기 시작했고 인프라팀에서 인프라를 변경한 후 부터 ...
문제 insert....select duplicate key update 사용 시 Deadlock이 발생할 수 있음 insert into member (member_id, name, age) select * from member as c where name = 'choi' on duplicate key update age = c.age...
Mysql Json 컬럼을 JPA Entity Field에서 객체로 변환하는 방법 찾아보니 대표적으로 2가지 방법 GitHub - vladmihalcea/hypersistence-utils @Converter @Converter로 하면 의존성 추가 없이 가능하고 Json 형식 자체는 고정이기 때문에 2번째 방법으로 진행 첫번째 방...
A 서비스에서 B 서비스로 부터 특정 행동을 할 수 있는 URL을 받아서 다시 B 서비스로 요청을 하는 로직을 개발하던 동료분의 에러를 찾다가 발견한 이슈..? 예시 B-서비스로 부터 받은 URL https://example.com?query=i-am-te%2Fster 다시 요청한 URL ...
운영환경 테이블에 새로운 컬럼을 추가 해야하는 경우가 생겼다. 운영환경에 DDL을 실행하게 되면 운영 중 환경에 문제가 생길 수 있기 때문에 조사를 했다 Online DDL Algorithm 서비스 중지 없이 DDL이 가능한 Online DDL Algorithm 종류 수행되는 방식에 따라서 주로 성능적인 차이를 보인다. 1. Instant Mys...
서비스에서 QA 중 CORS 오류가 발생 Exception java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value “*” since that cannot be set on the “Access-Cont...
발견 경로 다른 환경 DB에서는 실행되는 쿼리가 로컬 docker DB에서는 실행되지 않는 경우를 발견 1Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'COLUMN' which is not functionally dependent on c...
Real MySQL 8.0 (1권) - YES24 을 읽고 정리했습니다. 5. Transaction & Lock Transaction 트랜잭션은 작업의 완정성을 보장해주는 것이다. 논리적인 작업 셋 자체가 100% 적용되거나 (COMMIT을 실행했을 때) 아무것도 적용되지 않아야 (ROLLBACK 또는 트랜잭션을 ROLLBACK 시키는 오류...
A new version of content is available.