티스토리 뷰
반응형
1. 유용한 개발 관련 아티클 및 영상 #26
MySQL data_locks 관련 쿼리 버그
- heavy load 시스템에서는 아래 쿼리를 사용할 경우 메모리 문제 및 deadlock이 발생할 수 있음
- SELECT * from performance_schema.data_locks
- 이 쿼리를 실행하면, 현재 데이터베이스에서 발생한 모든 데이터 락의 정보를 확인할 수 있고, 데이터베이스 성능 문제를 진단하거나, 데드락(Deadlock) 상황을 분석할 때 유용함
- 하지만 해당 버그는 8.0.37 최종버전에도 fix되지 않은 상태임
출처: https://www.facebook.com/groups/623067261102382/permalink/7786132421462461/
ChatGPT를 opt-in(동의 서비스)으로 선택한 애플의 현명함
- LLM의 숫자도 늘고 기술격차가 줄어드는 상황에서의 차별점은 서비스의 품질만큼 안정성이지만, ChatGPT가 지속적으로 시스템 중단이 발생하는 상황임
- 마이크로소프트는 완벽하게 ChatGPT 서비스를 라이선스 캡슐화하여 코파일럿이란 이름으로 모든 제품군에 포진시켰음
- 애플은 시리와 같은 큰 우산 밑에 ChatGPT라는 상품을 쇼윈도에 진열했는데, ChatGPT를 쓰려면 네가 동의(Opt-in)하고 연결하면 되고, 사용료도 그쪽에 알아서 내면 된다는 방식임
- 이를 소프트웨어 아키텍쳐의 tightly coupled vs loosely coupled 관점에서 살펴보면, 애플은 ChatGPT와 같은 서비스가 불안한 상태라면 상황에 따라 끊고 다른 선택지를 가져올 수 있는 loosely coupled를 선택한 것으로도 볼 수 있음
출처: https://www.facebook.com/1037158560/posts/10229608320725811
SpringBoot3 Parameter Name Retention에 대하여
- 스프링부트3.0(스프링6.0)에서 LocalVariableTableParameterNameDiscoverer이 deprecated 되고, 스프링부트3.2(스프링6.1)에서 removed 됨
- LocalVariableTableParameterNameDiscoverer 관련 내용은 다음과 같음
- 스프링에서 파라미터의 이름을 가져오는 방법 중 하나임
- 이는 LocalVariableTable이라는, 자바 바이트코드가 메서드의 로컬 변수 정보를 저장하는 테이블을 통해 값을 반환함
- Native Image(네이티브 이미지) 지원을 확대함에 따라 삭제됨
- 해당 클래스의 대안으로 StandardReflectionParameterNameDiscoverer이 사용됨
- 리플렉션을 통해 파라미터 이름을 가져오는 기술임
- 리플렉션으로부터 해당 값을 가져오려면 컴파일 시에 -parameters 옵션을 반드시 추가해주어야 함
- Gradle 기반으로 빌드 및 배포를 한다면 -parameters 옵션을 추가하지 않아도 정상적으로 처리되는데, 그 이유는 Gradle 플러그인을 통해 Java 컴파일의 -parameters 옵션이 자동 추가되기 때문임
Req-Saver로 캐시의 골칫거리 'Thundering Herd 문제' 쉽게 풀기!
- Thundering Herd 문제란 많은 클라이언트가 동시에 같은 리소스에 접근을 시도하여 캐시 미스로 인한 부하 발생 문제임
- 요청받은 데이터가 캐시에 존재하지 않는 경우
- 애플리케이션 단에서 로컬 혹은 글로벌 락(lock)을 이용해 특정 요청만 백엔드 스토어로 보내고 나머지 요청은 대기하면 됨
- 요청받은 데이터가 캐시에 존재하는 경우
- TTL(time to live)이 10초이고 클라이언트가 해당 캐시를 조회할 때 TTL이 2~3초 정도 남은 시점이라면 캐시 만료를 기다리지 말고 바로 캐시 TTL을 갱신하면 됨
- 락을 획득한 쓰레드 외에는 캐시 갱신을 기다리지 않음
출처: https://techblog.lycorp.co.jp/ko/req-saver-for-thundering-herd-problem-in-cache
RateLimiter를 위한 알고리즘 시각화
출처: https://smudge.ai/blog/ratelimit-algorithms
반응형
'Tech News' 카테고리의 다른 글
[TechNews] 유용한 개발 관련 아티클 및 영상 #28 (0) | 2024.07.12 |
---|---|
[TechNews] 유용한 개발 관련 아티클 및 영상 #27 (0) | 2024.07.05 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #25 (0) | 2024.06.21 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #24 (2) | 2024.06.14 |
[TechNews] 유용한 개발 관련 아티클 및 영상 #23 (2) | 2024.06.07 |
댓글