🧑‍💻

kafka

그래서 kafka는 무엇인가?

kafka는 대량의 데이터를 높은 처리량으로 실시간으로 처리할 수 있도록 설계되어 있으며, 분산 시스템의 높은 가용성과 유연성을 활용하여 안정적이고 데이터 손실 없이 데이터를 전송할 수 있다. 이는 다양한 서비스에서 활용되며, 웹 사이트의 대규모 로그 데이터 수집, 이벤트 처리, 메세지 큐, 스트리밍 등의 용도로 여러 기업 및 서비스에서 사용하고 있다. kafka가 다양하게 사용되는 이유는 여러가지 특징적인 이유를 알아본다.

spring

그래서 spring Transactional은 무엇인가?

@Transactional은 spring에서 각 transaction를 묶어주고 관리해주는 역할을 하는 선언적 방법이다. @Transactional는 여러가지 속성과 옵션을 제공하며, 예시 코드들과 함께 알아본다.

redis

그래서 redis cluster hash slot은 무엇인가?

hash slot은 redis cluster의 node간에 key 분산 방법이다. nosql의 key 분산 방법의 기초가 되는 consistent hashing도 함께 알아본다.

elasticsearch

그래서 elasticsearch shard 값은 왜 변경이 불가할까?

결론부터 얘기하면 기생성된 index의 shard 값을 변경하지 못하는 이유는 lucene(루씬) 때문이다. lucene과 이를 구성하고 있는 segment shard와 함께 얘기한다.

elasticsearch

그래서 elasticsearch shard, replica 값은 어떻게 설정할까?

elasticsearch를 운영하기 위해서는 shard와 replica 갯수를 적절히 설정해야한다. 또한 index에 설정된 shard 수는 한번 설정하면 변경이 불가하기 때문에 운영중에 index를 변경하는 번거로움을 덜기 위해서는 적절하게 갯수를 선정하는 것이 중요하다. 그렇다고 한번 설정한 shard는 정답이 아니다. 시스템이 커지고 변경됨에 따라 언제든 변경의 여지를 두고 지켜봐야할 대상이다. 그래서 shard와 replia의 값 설정 기준에 대한 이야기를 한다.