2022.11.21~11.27

유수민·2022년 11월 27일
3

인사이트

목록 보기
4/15
post-thumbnail
post-custom-banner

일주일간 나의 흥미를 끈 인사이트는??

📌목록

*일론 머스크가 트위터 아키텍쳐가 그려진 화이트 보드를 트윗했고 그걸 다른 사람이 정리해서 올려줬네요
https://twitter.com/elonmusk/status/1593899029531803649?s=46&t=ervPdEkJerC2hdR8i0Xyfg

📌감상

1. 일론 머스크가 트위터 아키텍쳐가 그려진 화이트 보드를 트윗했고 그걸 다른 사람이 정리해서 올렸다.

https://twitter.com/elonmusk/status/1593899029531803649?s=46&t=ervPdEkJerC2hdR8i0Xyfg
정확히 어떤 것이 어떤 역할을 하는지는 잘 모르겠는데, 간단하게 요약했겠지만 대규모의 서비스인 트위터가 간단하게 정리된 모습을 보니 신기했다. 지금은 잘 모르겠지만 후에 내가 발전한뒤 이것을 보면 또 보이는 것이 달라질 것같아 넣었다.

2. 주니어를 위한 소소한 백엔드 개발 이야기 (Object Pool Pattern)

https://brunch.co.kr/@springboot/780
이전에 오프젝트 풀에 관해 정리해놓은 것이 있는데, 그 예시를 알 수 있어서 좋았다. 이참에 오브젝트 풀이 무엇인지 다시 한번 체크하고 노션에 있었던 글을 블로그에도 옮겼다. (https://velog.io/@sweet_sumin/%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%ED%92%80)

오브젝트 풀 패턴의 예시
1) DBCP (데이터베이스 커넥션 풀)

  • 순간 접속자가 다량으로 발생했을 시, 미리 생성해둔 Connection 객체를 대여하는 방식으로 접속자는 제한하는 기술

2) Tomcat thread pool

  • Tomcat은 다중 요청을 처리하기 위해서, 부팅할 때 스레드의 컬렉션인 Thread Pool을 생성
  • 유저 요청(HttpServletRequest)가 들어오면 Thread Pool에서 하나씩 Thread를 할당
  • 해당 Thread에서 스프링부트에서 작성한 Dispatcher Servlet을 거쳐 유저 요청을 처리
  • 작업을 모두 수행하고 나면 스레드는 스레드풀로 반환
    참고) https://sihyung92.oopy.io/spring/1

3) RestTemplate

  • Spring 3.0부터 지원하는 Http 통신에 사용하는 템플릿
  • Restful 원칙을 지키며 Json, Xml 등 쉽게 요청/응답을 받을 수 있다.
  • Http를 사용하는 범용 라이브러리인 HttpClient를 추상화해서 제공한다.
  • 커넥션 풀 설정이 제대로 되어 있지 않으면 트래픽이 몰리는 순간 RestTemplate pool사이즈로 인해 최대 성능이 않나온다(병목현상 발생)

4) @Async

  • 메서드가 비동기로 실행됨
  • AOP에 의해 동작

결론!
애플리케이션의 성능에서 가장 중요한 요소는 Thread Pool Size고, 최대 성능을 내기 위해서는 size를 적절히 조정해야 한다.라고 이 글에서 써있다.
Thread Pool size를 왜 한없이 크게 만들면 안될까? thread pool을 크게 만들면 재활용할 수 있는 쓰레드가 많아진다는 말인데 말이다.알아보니 thread를 무작정 많이 만들면 context-switching이나 메모리 소모 등 시간, 공간적 자원이 많이 소모된다고 한다.

3. 주니어 개발자에서 미드레벨 개발자로 도약하기 위한 7단계

https://yozm.wishket.com/magazine/detail/1740
여기서 나온 글 중 내가 추구하고 싶은 것 두가지를 말하자면

  • 진행상황과 기대치, 문제점에 대해 소통할 것
  • 본인의 잘못을 파악하고 실수를 통해 배워나갈 것

이 두가지이다. 중요하면서도 하기 어려운것이라 생각하지만 조금이라도 발전을 위해!!

4. 일론 머스크가 트위터를 인수한 이유는?

https://yozm.wishket.com/magazine/detail/1802/

개발 내용까지는 아니지만, 흥미로운 내용이라 이 글에 넣었다. 일론 머스크가 예고 트윗으로 '트위터는 앞으로 수개월간 바보 같은 짓을 많이 할 것입니다'라고 했는데 어떤 기능을 추가하고 폐기할지 궁금하다. 어떻게 트위터가 앞으로 바뀔까??

5. 캐시

1) 캐시가 동작하는 아주 구체적인 원리
https://parksb.github.io/article/29.html

-- 캐시는 반응 속도가 빠른 SRAM으로 주소가 키로 주어지면 해당 공간에 즉시 접근할 수 있다.
-- 캐시가 하드웨어로 구현한 해시테이블과 같다.해시 테이블의 시간복잡도가 O(1)정도라 빠르다
--캐시는 블록으로 구성되어 있으며, 블록의 개수와 블록의 크기가 캐시의 크기를 결정한다.
-- 인덱스의 충돌을 줄이기 위해 주소값의 일부를 태그(Tag)로 사용한다

캐시에 대해 정말정말정말 얕게 알고 있다는것을 깨달았다...

profile
배우는 것이 즐겁다!
post-custom-banner

0개의 댓글