API 동시성 문제 개선하기 (MAX + 1 Key 채번)😡
·
Develop/Trouble Shooting
결제 API  동시성 이슈.. 전자락카 매출정보를 연동하는 API 동시성 문제를 개선해보자!작업 할 당시에 개발 환경은 jdk 17 , spring boot , mybatis , oracle 이다. 키오스크에서 결제를 하면 VAN 결제정보 데이터를  API를 이용하여 저장하는 단순한 구조이다.   api 응답시간 0.3초 키오스크를 이용하는 손님도 적고 문제가 생길거라고는...미처 생각하지 못했다 😒 이러고 시간이 한참 지나고나서.....이용자수가 엄청 늘었다... 혹시? 동시성 문제가 생기진 않았을까.. 로그를 보니중복키 로그가........ 😓 개선하고자테스트코드를 수정하고 디버깅을 진행 하였다.문제점 찾기예시 코드 AS-IS @Transactional(rollbackFor = Excepti..
아파치 카프카(APACHE Kafka) 그게 도대체 뭔데 😤 카프카 기본 개념에 대해 알아보자
·
Develop/DevOps
최근 몇년 전부터 개발자 채용 공고에 빠짐 없이 등장하는 기술 키워드가 있다. 바로 *아파치 카프카(Apache Kafka)이다. *정의 아파치 카프카(Apache Kafka)는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다. 이 프로젝트는 실시간 데이터 피드를 관리하기 위해 통일된, 높은 처리량, 낮은 지연시간을 지닌 플랫폼을 제공하는 것이 목표이다. 요컨대 분산 트랜잭션 로그로 구성된, 상당히 확장 가능한 pub/sub 메시지 큐로 정의할 수 있으며, 스트리밍 데이터를 처리하기 위한 기업 인프라를 위한 고부가 가치 기능이다. 디자인은 트랜잭션 로그에 많은 영향을 받았다. 역사 아파치 카프카는 원래 링크드인이 개발한 것으로, 2011년 초에 최종적으로 오픈 소스화되었다...
[Java] 스트림(Stream) API 사용 방법 / 외부반복 내부반복 차이점
·
Develop/Back-End
Java 개발자라면 한번쯤 Stream API 에 대해서 들어보게 될 텐데 회사 *코드 컨벤션에 따라 익숙한 개발자들도 있을 것이고 사용을 아예 안하는 개발자도 많을 것 같은데🤪 나도 자바에선 자주 사용하지 않아 손에 익진 않았는데 사용하면서 퍼포먼스 측면에서도 나아지고 코드도 훨씬 간결해진듯... 😛 * 코드 컨벤션 (Code Convention) : 읽고 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약(하나의 작성 표준) 스트림이 무엇인지 간단하게 특징과 사용 방법을 블로그에 정리해보려고 해 😏 스트림 API는 자바 8부터 추가된 기능이야. 이걸 쓰면 컬렉션 처리가 훨씬 쉬워지고 성능도 높아져. 반복문을 직접 안 써도 되니까 코드도 간결해지고 가독성도 좋아져. 스트림은 데이터 처리를 파이..