전체 글

좋은 영향력을 전파하기 위해 노력하는 엔지니어 리오입니다.
· 일상
시작하게 된 계기 현재 개발자들의 글쓰기 모임을 진행하면서 여러 글들을 읽다보면 양질의 글들이 많이 존재하는데 이런 글들을 나중에 챙겨보고 싶은데 바뻐서 깜박한 순간 다른 많은 글들에 휩쓸려 사라지고 말아버린다는 이야기를 들었다. 물론 지금도 검색기능이 존재하지만 검색엔진처럼 좋은 검색 품질은 기대할 수 없고 모임이 사라지면 활용하기 어렵다는 것이 흠이였다. 그래서 나는 ELK스택도 실습해볼 수 있는 기회고 어느정도의 사용자가 보장되기 때문에 바로 실천에 옮기기로 했다. 첫번째 스탭 첫번째 스탭은 테스트로 활용할 수 있는 데이터가 필요했기에 글또를 운영하고 계신 성윤님께 구글 시트애 저장되어 있는 데이터를 요청드렸고 이부분은 은찬님과 상의해본 후 전달받기로 했다. 다행히도 흔쾌히 수락해주셔서 샘플 데이터..
로그 스태시란? 로그 스태시는 지어진 이름 처럼 과거에는 어플리케이션들에서 발생하는 로그들을 엘라스틱서치에 전달하는 역활만을 해왔다. 이는 가장 많이 활용해왔던 수단 중 하나였지만 점점 발점해오면서 데이터 전달하고 필터링 하는 역활도 할 수 있게 되었고 나중에는 인기 있는 데이터 파이프 라인 툴 중 하나로 자리잡게 되었다. 로그스태시는 다양한 이벤트들을 전달받아 핸들링할 수 있다. 이러한 이점은 다양한 형태의 데이터 처리 할 수 있다는 의미이기도 하다. 예를 들어 로그 파일, 이커머스 주문 정보들, 고객 정보들, 채팅 메시지 등 다양한 정보들을 카프카, 이메일, HTTP 엔드포인트등 다양한 곳으로 전송 된다. 로그 스태시의 세가지 단계 로그스태시의 파이프라인은 3가지의 단계를 거쳐서 활용된다. 바로 입력..
매핑이란? 애널라이저를 알기전에 가장 먼저 알아야 하는 것은 매핑이다. 매핑을 데이터 베이스와 비교하자면 테이블을 정의한 스키마와 비슷하다고 볼 수 있다. 인덱스의 필드와 타입을 정의하여 활용할 수 있습니다. 예시 curl -XPUT 127.0.0.1:9200/movies -d { "mappings": { "properties": { "year": {"type": "date"} } } } Elasticsearch는 기본적으로 REST API를 통해 통신을 하기 때문에 curl을 활용하여 인덱스를 정의했다. movies라는 인덱스를 생성하고 인덱스안에서는 year라는 필드가 존재하고 date타입인 것을 확인할 수 있다. 그외에도 인덱스는 아래와 같이 활용할 수 있다. 필드 타입 정의 엘라스틱은 date타입..
성능 개선과 안정화 더 빠른 상위 검색: 이전에는 "이것", "을"과 같이 빈번하게 등장하는 용어를 쿼리에 입력했을 때 도큐먼트의 점수를 계산하도록 하였지만 이는 검색을 최적화하는데 효과적이지 못했다. 그래서 이제는 이런 빈번한 단어들은 건너뛰고 전체 도큐먼트가 아닌 top 10,000개의 도큐먼트에서 쿼리를 합니다 Adaptive Replica Selection Elasticsearch는 데이터를 분산 처리하기 위해 샤딩(sharding)을 사용합니다. Elasticsearch 7에서는 샤딩 관련 알고리즘과 프로세스를 개선하여 샤딩을 더 효율적으로 관리하게 되었고, 이로 인해 대규모 데이터 세트에 대한 검색 및 인덱싱 성능이 향상되었습니다. 이전에는 라운드로빈 방식으로 레플리카 노드에 전달되었지만 이제..
Elastic search Download(Mac) 아래에서 링크를 통해 다운로드하고자 하는 엘라스틱서치 버전을 선택하여 다운로드 합니다. https://www.elastic.co/kr/downloads/past-releases#elasticsearch Past Releases of Elastic Stack Software Looking for a past release of Elasticsearch, Logstash, Kibana, es-hadoop, Shield, Marvel, or our language clients? You're in the right place. www.elastic.co 다운로드 받은 파일을 압축해제합니다. 터미널을 실행시키고 설치된 엘라스틱서치 디렉토리로 이동후 ./bin/..
· 일상
개발팀에서 기술부채를 해결해야한다고 이야기하더라도 비지니스적 가치가 얼마나 되는지는 자세히 설명하지 않고 기술부채로 인해 생길 수 있는 문제만 이야기한다. 개발팀의 이야기를 들은 결정권자는 그런 문제보다는 비지니스의 성장이 중요하다고 생각하여 새로운 기능개발을 통해 비지니스 확장을 우선시 하게된다. 그렇게 이러한 상황이 계속되어 반복되게 되면 잦은버그와 장애로 개발자들의 불만이 쌓여서 결국 개발팀이 단체로 퇴사해버리거나 심각한 장애로 이어져 회사에 큰 피해가 생기는 경우가 많다. 이런 상황들은 개발자 커뮤니티에서 흔히 접하는 이야기들이기 때문에, 개발자들은 이를 특별한 사건으로 보지 않는다. 그러나 이런 상황에 처한 회사들은 비즈니스 연속성에 심각한 위협을 받게 되며, 때로는 큰 재정적 손실을 입거나 프..
ri5
리오의 개발일지