BackEnd
-
01. 카프카(Kafka)BackEnd/Kafka 2021. 10. 30. 17:00
들어가기 전 용어를 간략히 정의하면, 데이터 파이프라인이란 데이터를 추출(extracting)하고 변경(transforming), 적재(loading)하는 과정을 묶은 것입니다. 클러스터란 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합이며 카프카의 브로커란 카프카의 서버입니다. 데이터를 생성하고 적재하기 위해서는 데이터를 생성하는 소스 애플리케이션과 데이터가 최종 적재되는 타깃 애플리케이션을 연결해야 합니다. end to end 연결 방식의 아키텍처는 데이터를 전송하는 라인이 기하급수적으로 복잡해지며 확장이 어렵습니다. 또한 1:1 매칭의 데이터 파이프라인은 커플링으로 인해 한쪽의 이슈가 다른 쪽 애플리케이션에 영향을 미칩니다. 이를 해결하기 위해 링크드인 데이터팀에서 만든 것..
-
04. logstash 구성BackEnd/Logstash 2021. 10. 29. 11:55
Logstash를 구성하려면 사용하려는 플러그인과 각 플러그인의 설정을 지정하는 config 파일(logstash.conf)을 만듭니다. 구성에서 이벤트 필드를 참조하고 조건을 사용하여 특정 기준을 충족할 때 이벤트를 처리할 수 있습니다. 1. 구성 파일의 구조 (Structure of a config file) 각 섹션에는 하나 이상의 플러그인에 대한 구성 옵션이 포함되어 있습니다. 플러그인 구성은 플러그인 이름과 해당 플러그인에 대한 설정 블록으로 구성됩니다. 여러 필터를 지정하면 구성 파일에 나타나는 순서대로 적용됩니다. 아래 예는 두 개의 kafka 입력을 구성합니다. # This is a comment. You should use comments to describe # parts of your..
-
03. logstash 설정BackEnd/Logstash 2021. 10. 28. 23:24
1. Logstash 디렉토리 레이아웃 Type Description Default LocationSetting home Logstash 설치의 홈 디렉토리 /usr/share/logstash bin Logstash 시작과 플러그인 설치를 포함한 Binary scripts /usr/share/logstash/bin settings 구성 파일들 logstash.yml, jvm.options, 및 startup.options 등 /etc/logstash path.settings conf Logstash 파이프라인 구성 파일 /etc/logstash/conf.d/*.conf See /etc/logstash/pipelines.yml logs 로그 파일 /var/log/logstash path.logs plugi..
-
02. logstash 작동 방식BackEnd/Logstash 2021. 10. 28. 22:38
Logstash 이벤트 처리 파이프라인에는 입력 → 필터 → 출력의 세 단계가 있습니다. 입력은 이벤트를 생성하고, 필터는 이벤트를 수정하고, 출력은 이벤트를 다른 곳으로 보냅니다. 입력 및 출력은 별도의 필터를 사용하지 않고도 파이프라인에 들어오거나 나갈 때 데이터를 인코딩하거나 디코딩할 수 있는 코덱을 지원합니다. Inputs 입력을 사용하여 Logstash로 데이터를 가져옵니다. file, syslog, redis, beats, kafka 등 자세한 내용은 입력 플러그인을 참조하십시오. Filters 필터는 Logstash 파이프라인의 중간 처리 장치입니다. 필터를 조건과 결합하여 이벤트가 특정 기준을 충족하는 경우 이벤트에 대한 작업을 수행할 수 있습니다. 몇 가지 유용한 필터는 다음과 같습니다...
-
01. logstashBackEnd/Logstash 2021. 10. 27. 22:05
Logstash는 실시간 파이프라이닝 기능을 갖춘 오픈 소스 데이터 수집 엔진입니다. Logstash는 서로 다른 소스의 데이터를 동적으로 통합하고 선택한 대상으로 데이터를 정규화할 수 있습니다. 다양한 고급 다운스트림 분석 및 시각화 사용 사례를 위해 모든 데이터를 정리하고 민주화합니다. 다양한 입력, 필터 및 출력 플러그인으로 모든 유형의 이벤트를 강화하고 변환할 수 있으며 많은 기본 코덱이 수집 프로세스를 더욱 단순화합니다. Logstash는 더 많은 양과 다양한 데이터를 활용하여 통찰력을 가속화합니다. Logstash 특징 Elasticsearch와 Kibana 시너지로 수평적으로 확장 가능한 데이터 처리 파이프라인(ELK Stack) 다양한 입력, 필터 및 출력을 혼합, 일치 및 조직화한 플러그..
-
04. 사용자 정의 리포지토리BackEnd/Spring Data JPA 2021. 10. 26. 19:30
Spring Data JPA Repository는 인터페이스만 정의하고 구현체는 스프링이 자동 생성합니다. 사용자 정의 Repository 구현 클래스 명명 규칙은 사용자 정의 인터페이스명 + "Impl" 이며, Spring Data JPA가 인식해서 Spring Bean으로 등록합니다. Impl 대신 다른 이름으로 변경 방법 // XML 설정 // JavaConfig 설정 @EnableJpaRepositories(basePackages = "study.datajpa.repository", repositoryImplementationPostfix = "Impl") 인터페이스의 메서드 직접 구현 방식 JPA 직접 사용(EntityManager) Spring JDBC Template MyBatis Datab..
-
03. Query MethodBackEnd/Spring Data JPA 2021. 10. 25. 22:47
1. 메소드 이름으로 쿼리 생성 Spring Data JPA는 메소드 이름을 분석해서 JPQL을 생성하고 실행합니다. 해당 기능은 엔티티의 필드명이 변경되면 인터페이스에 정의한 메서드 이름도 반드시 변경해야 합니다. 그렇지 않으면 애플리케이션을 시작하는 시점에 오류가 발생합니다. // Spring Data JPA Repository public interface MemberRepository extends JpaRepository { List findByUsernameAndAgeGreaterThan(String username, int age); } // JPA Repository public List findByUsernameAndAgeGreaterThan(String username, int age)..
-
02. Spring Data JPABackEnd/Spring Data JPA 2021. 10. 25. 21:32
Spring Data JPA는 JPA 기반 Repositories를 쉽게 구현할 수 있는 모듈입니다. 사용자 정의 파인더 메소드를 포함하여 Repository 인터페이스를 작성하면 Spring이 자동으로 구현을 제공합니다. 특징 Spring과 JPA 기반 Repositories 구축 지원 Querydsl 지원 및 type-safe JPA 쿼리 도메인 클래스의 투명한 감사 Pagination 지원, 동적 쿼리 실행, custom data 접근 코드 통합 기능 부트스트랩 시간에 @Query 어노테이션이 있는 쿼리의 유효성 검사 XML 기반 엔티티 매핑 지원 @EnableJpaRepositories를 도입하여 JavaConfig 기반 저장소 구성 JpaRepository 인터페이스 JpaRepository 인..