mutex와 semaphore 차이점

mutex와 semaphore 차이점

mutex와 semaphore는 동기화(syncronize)기법으로 동일 메모리 영역(자원)에 서로 다른 스레드가동시 접근할때 어떤것을 우선할지 접근 스레드의 실행 순서를 지정하는 방법이다. 두 동기화기법이 어떤 차이가 있는지 알아보자.

Continue reading

kafka 와 기존 메세징 시스템과의 차이점

kafka 와 기존 메세징 시스템과의 차이점

  • 대용량의 실시간 로그처리에 특화되어 기존 범용 메세징 시스템 대비 TPS 우수.
  • 단, 범용 메세징 시스템에서 제공하는 다양한 기능 X
  • AMQP 프로토콜, JMS API를 사용하지 않고 TCP기반 프로토콜을 사용하여 프로토콜에 의한 오버헤드 감소.
  • producer가 broker에게 다수의 메세지를 전송할때 batch형태로 한번에 전달할 수 있다.
  • 메세지를 메모리저장하는 기존 메세지큐와 달리 메시지를 파일 시스템에 저장한다. 이때문에 메세지를 많이 쌓아두어도 성능이크게 감소하지 않는다. 때문에 실시간 처리뿐 아니라 batch작업을 위해 데이터를 쌓아놓는 용도로도 사용할 수 있다.
  • 기존의 메시징 시스템이 broker가 consumer에게 메세지를 push해주는 방식이라면 kafka는 consumer가 broker로부터 직접 메세지를 가지고 가는 pull 방식으로 동작한다. 따라서 consumer는 자신의 처리능력만큼의 메시지만 broker로부터 가져오기때문에 최적의 성능을 낼 수 있다.
  • 그 만큼 broker의 메세지 관리에 대한 부담이 경감되었다.
  • 메세지를 쌓아두었다가 주기적으로 처리하는 batch consumer 구현이 가능.

Continue reading

hikari CP connection Pool

connection pool 이란?

connection을 미리 만들어서 모아놓고 재활용하는것. 동시접속자들이 연결할 수 있는 connection을 하나로 모아놓고 관리하는 개념. 미리 생성하기때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리할 수 있다.

Continue reading

Pagination


© 2020. by berrrrr

Powered by berrrrr