분류 전체보기
-
2025.02.24 spring kafka ThrottlingTIL 2025. 2. 24. 22:57
카프카 컨슈머에 동적 쓰로틀링 적용하기 | 우아한형제들 기술블로그이 글은 카프카(Kafka)를 사용하는 스프링 환경에서 메시지 처리 속도를 동적으로 조절해야하는 상황과 여러 쓰로틀링 기법들을 소개합니다. 카프카를 사용하는 스프링 프레임워크 환경에 익숙techblog.woowahan.com 마침 비슷한 상황에서 글을 읽게 되었다.spring kafka에서는 레코드 리스너와 배치 리스너를 제공하는데, 디폴트는 레코드 리스너이다.ackmode에서도 record와 batch가 있는데, 리스너들과 어떻게 엮이냐에 따라 동작이 다르다.ackmode는 언제 커밋하겠다는 의미이다. 디폴트인 batch는 max-poll-records만큼 다 소비하고 커밋하겠다는 거고, record는 max-poll-records를 레코..
-
2025.02.22 spring transactionalTIL 2025. 2. 22. 14:10
https://hyperconnect.github.io/2025/02/10/spring-transactional-rollback.html Spring Transactional Rollback Deep DiveSpring Transactional Rollback 이 되는 케이스를 심층적으로 살펴보고 예시로 확인해봅니다.hyperconnect.github.io롤백 마크는 많이들 알고 있을 것이다. 우형 글로도 많이 유명하다. 하이퍼커넥트의 글은 트랜잭션 전파 속성까지 설명하고 있다.REQUIRES_NEW는 기존 트랜잭션에서 분리되어 새로운 트랜잭션을 만드는 전파속성입니다.이를 활용해 트랜잭션 안에서도 작은 단위로 트랜잭션을 나눌 수 있게됩니다. 굳이 나눠야하는 이점이 있을까요? 애초에 트랜잭션으로 묶이는 작..
-
2025.02.19 spring kafka kafkaListenerContainerTIL 2025. 2. 19. 23:33
https://docs.spring.io/spring-kafka/reference/kafka/receiving-messages/listener-annotation.html @KafkaListener Annotation :: Spring KafkaWhen using manual AckMode, you can also provide the listener with the Acknowledgment. To activate the manual AckMode, you need to set the ack-mode in ContainerProperties to the appropriate manual mode. The following example also shows how to use a differendocs...
-
2025.02.19 line 장애대응TIL 2025. 2. 19. 10:07
https://engineering.linecorp.com/ko/blog/line-failure-reporting-and-follow-up-process-culture LINE의 장애 보고와 후속 절차 문화들어가며 소프트웨어를 개발하고 사용하는 곳이라면 어느 곳이든 장애가 없을 수 없을 것입니다. 사용자가 많고 트래픽 규모가 크고 연관된 서비스가 많은 복잡한 소프트웨어일수록 장애가 여engineering.linecorp.com프로세스로 정립하는 것이 좋다.그래야 장애발생 시 당황을 덜 하게 된다.
-
2025.02.13 mysql insert performanceTIL 2025. 2. 13. 00:20
[번역] 삽입 속도를 높이기 위해 느린 MySQL을 최적화하는 20가지 방법원문 https://seo-explorer.io/blog/twenty-ways-to-optimize-mysql-for-faster-insert-rate/#Buy_a_fast_server Twenty Ways To Optimize Slow MySQL for Faster Insert Rate - SEO Explorer's Blog This blog post covers all the technique we used to optimize MySQL inxn--vr0b79z.com
-
2025.02.11 spring kafka delayTIL 2025. 2. 11. 22:03
Spring Kafka Idle Between PollsI've had a business requirement to slow down the consumption rate of a kafka consumer due to the impact it could possibly cause to other microservices. After a bit of research I've come to a solutionstackoverflow.com spring kafka를 사용하는 환경입니다.대량의 데이터가 한 번에 들어올 경우 애플리케이션 내부 로직으로 인해 컨슈머 애플리케이션뿐 아니라 DB, 타 서비스까지 트래픽이 전염됩니다.이때 spring kafka의 설정 중 idleBetweenPolls를 사용하면 ma..
-
2025.02.08TIL 2025. 2. 8. 20:02
https://www.alibabacloud.com/blog/mysql-deep-dive---implementation-and-acquisition-mechanism-of-metadata-locking_599191 MySQL Deep Dive - Implementation and Acquisition Mechanism of Metadata LockingThis article introduces the commonly used data structures and meanings in MDL systems and discusses the acquisition mechanism and deadlock detection of MDL.www.alibabacloud.commdl_lock은 전역적으로 관리되는것이고 ..
-
DB 장애 분석: Galera Cluster Segfault글또 2025. 1. 31. 20:06
들어가며안녕하세요.이번에는 DB장애 분석 글을 써보려합니다.현재 저희 회사에서 가장 큰 이슈는 DB 장애 문제였고, 이를 해결해 보면 좋겠다고 생각했습니다. 제가 문제를 해결하기 위해 시도한 방법과 과정을 써보고자 합니다. 글의 순서는 다음과 같습니다.문제 상황의심 사례 분석메모리 부족, 많은 스레드 부하: 부하 테스트 (Sysbench 활용)특정 시각의 배치 작업, 시나리오 테스트 (K6 활용)개선점마무리 문제 상황 저희 회사는 MariaDB를 EC2에서 구동하며 Galera Cluster를 사용하고 있습니다.그중 일부 노드가 간헐적으로 다운되는 현상이 발생했습니다.Cluster 내 3개 노드 중 일부가 장애를 일으켜도 동작은 가능했지만, Segmentation Fault(Segfault) 에러..