HikariCP HikariCP(Hikari Connection Pool) Connection Pool 을 관리해 주는 라이브러리 Spring Boot 2.0 버전부터 Tomcat connection pool 대신 HikariCP 사용 . HikariCP 기본 설명은 쉽게 풀어서 설명된 링크를 참고해 보자. . 최근 HikariCP Connection 관련 장애를 겪고, HikariCP 의 Connection 관련 이슈와 대응방법에 대하여 알아보게 되었다. 고로... 본문에는 Hikari 기본설정, Dead lock 과 해결방법에 대해서 간단하게 다뤄보려고 한다. Hikari 기본설정 ✅ autoCommit pool에서 반환된 connection의 기본 자동 커밋 동작 제어 Default: true ⏳ ..
동시성 문제와 스레드 로컬 동시성 문제 다수의 스레드가 동시에 같은 인스턴스 필드 값을 변경하면서 발생하는 문제 스프링 빈처럼 싱글톤 객체의 필드를 변경하며 사용할 때 주의 Sample Service @Slf4j public class FieldService { private String nameStore; // 싱글톤 객체의 공용 필드 public String logic(String name) { log.info("저장 name={} -> nameStore={}", name, nameStore); nameStore = name; sleep(1000); log.info("조회 nameStore={}", nameStore); return nameStore; } } Test @Slf4j public clas..
Java MultiThreading AtomicInteger Integer 자료형을 가지고 있는 wrapping 클래스 멀티쓰레드 환경에서 동시성을 보장 (synchronized 보다 적은 비용으로 동시성을 보장) Reference https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html https://codechacha.com/ko/java-atomic-integer/ LinkedBlockingQueue 한정된 메모리 사용을 위해 초기 Queue Size 세팅 Queue Data(empty/full) 상태에 따라 Thread가 Blocking 할 수 있는 기능 제공 Queue에서 아이템을 가져올 때 비..
OS(Operating System, 운영체제)🌞 backend-loadmap{:target="_blank"} Part 03. OS 터미널 사용법 및 기본 명령🌟 grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill Reference 16 Terminal commands every user should know 35 Linux Basic Commands Every User Should Know Linux 명령어 모음 Best 50 OS의 일반적인 작동 원리🌟 Operating System Computer User와 Computer Hardware(CPU, I/O) 사이의 인터페이스 역할 자원이 필요한 프로그램에 자원을 할당해주고, 자원을..