티스토리 뷰

Tech News

[TechNews] 유용한 개발 관련 아티클 및 영상 #26

망나니개발자 2024. 6. 28. 10:00
반응형



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

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함