목록분류 전체보기 (181)
Lewis's Tech Keep
진행 범위 3.5 카프카 스트림즈 카프카를 사용하는 다른 팀 발표 사례 소개 우아한 형제들 https://www.youtube.com/watch?v=DY3sUeGu74M https://www.youtube.com/watch?v=YACC1t_oSlA 카카오 https://www.youtube.com/watch?v=7_VdIFH6M6Q 3.5 카프카 스트림즈 스트림즈 애플리케이션 토픽에 적재된 데이터를 상태기반 또는 비상태기반으로 실시간 변환하여 다른 토픽에 적재하는 라이브러리 공식 지원 라이브러리 ⇒ 카프카 클러스터와 완벽하게 호환되면서 스트림 처리에 필요한 편리 기능 제공함 정확히 한번(exactly once) 할 수 있도록 장애 허용 시스템(fault tolerant system)을 가지고 있어 데이터..
카프카 시작해보기 대부분의 것은 책을 참조하길 바람. 기억하고 싶은 것 위주로 넣었음 주키퍼, 카프카 브로커 실행 카프카 바이너리 패키지를 다운로드 (링크: https://kafka.apache.org/downloads) 카프카 브로커 힙 메모리 설정 카프카 브로커를 실행하기 위해 힙 메모리 설정이 필요함 브로커는 레코드의 내용은 페이지 캐시로 시스템 메모리를 사용하고 나머지 객체들을 힙 메모리에 저장하여 사용 힙 메모리는 5GB 이상으로 설정하지 않음 카프카 패키지 기본 설정으로 브로커 1GB, 주키퍼 512MB로 설정되어있음 KAFKA_HEAP_OPTS 를 exports하여 사용하면 힙 메모리 조정 가능 export KAFKA_HEAP_OPTS ="-Xmx400m -Xms400m" 브로커 메모리를 4..
카프카의 탄생 파편화된 데이터 수집 및 분배 아키텍처 운영을 위해 탄생함 기존 카프카 도입 이전 데이터를 생성하고 적재하기 위해 데이터를 생성하는 소스 애플리케이션과 데이터가 최종 적재되는 타깃 애플리케이션을 연결해야 함 아키텍처가 거대해짐 -> 소스 애플리케이션과 타깃 애플리케이션 개수가 점점 많아짐, 데이터를 전송하는 라인이 기하급수적으로 복잡해지기 시작함 파이프라인 개수가 많아지면서 소스코드 및 버전 관리에서 이슈가 생김 타깃 애플리케이션 장애 -> 소스 애플리케이션으로 바로 전달됨 기존에 링크드인은 오픈소스와 ETL 툴을 적용해 변경하려고 노력했지만 해결은 못함 기존 카프카 도입 이후 각각 애플리케이션끼리 연결해 데이터 처리하지 않고 한 곳에 모아 처리하도록 중앙집중화함 소스 애플리케이션과 타깃 ..
CAP 이론은 분산 데이터베이스 설계 시에 많이 찾아보게 되는 것 같다. 그 중 가장 자세히 설명하고 있다고 생각한 글 링크를 달아본다. https://hamait.tistory.com/197 [DB/분산] 초보자를 위한 CAP 이론 * CAP 은 네트워크로 분산된 DB , FileSystem, state machine (zookeeper 같은) 에서 의미를 가짐. 여담 ) NoSQL 이란게 유비쿼터스,클라우드,빅데이터 같은 상품명 처럼 휩쓸고 지나간 자리에는 더 이상 NoSQL 이 hamait.tistory.com 특히 논란 부분이 재밌다고 생각했는데 많이 보질 못해서 다 보고 난 이후에 정리하려고 생각 중이다. 기초 설명 중에 재밌는 링크 https://osy0907.tistory.com/95 NoS..
서론 객체 지향적 및 테스트 코드 기반 개발을 시도 해 보자! 라는 목적으로 현재 진행하고 있는 사이드 프로젝트가 있다. 이를 적용하며 겪은, 아직 모자란 지식으로 겪는 이슈에 대해 적어보고 해결됐을 때의 방법 또한 양식이 되지 않을까 하여 기록한다. 본론 1. JPA를 사용하였을 때 불변성을 유지하기 힘든 점에 대한 고민 https://lewisseo91.tistory.com/156 [JPA] 엔티티가 final이 될 수 없는 것에 대하여 JPA를 하면서 좀 불만아닌 불만이랄까... 불변성 보장을 하고 싶은데 final을 쓸 수 없는 모순에 자꾸 부딪히게 된다.. (참고 링크) 일단 왜 final을 이용해 불변 객체로 만들고 싶은가 하면 특히 진행 lewisseo91.tistory.com 나는 대체적으..
계기 Spring으로 user 관련 서비스를 만들다 DataJpaTest를 통한 테스트 코드 운용 중에 에러를 발생! 에러 메시지 o.h.e.internal.DefaultLoadEventListener : HHH000327: Error performing load command org.hibernate.exception.SQLGrammarException: could not prepare statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.e..
- webflux 와 jpa rdb 일 때 blocking 이어서 지원 안하는 것에 대한 이야기 - https://stackoverflow.com/questions/52480271/spring-webflux-jpa-reactive-repositories-are-not-supported-by-jpa Spring Webflux + JPA: Reactive Repositories are not supported by JPA I am getting error when I start my app JPA: Reactive Repositories are not supported by JPA. My Pom has below dependencies and i am using Spring Boot 2.0.5
JPA를 하면서 좀 불만아닌 불만이랄까... 불변성 보장을 하고 싶은데 final을 쓸 수 없는 모순에 자꾸 부딪히게 된다.. (참고 링크) 일단 왜 final을 이용해 불변 객체로 만들고 싶은가 하면 특히 진행 중인 사이드 프로젝트에 web-flux 를 사용하려고 생각하고 있었는데, web-flux는 리액티브 웹 프레임워크이며 논블로킹 리액티브 스트림을 이용하게 될 것이기 때문에 불변임을 보장하여 좀 더 안정적인 프로그램을 만들고 싶었다. 불변 객체 일 때 장점 - https://mangkyu.tistory.com/131 [Java] 불변 객체(Immutable Object) 및 final을 사용해야 하는 이유 클린코드를 읽어도, 이펙티브 자바를 읽어도, 개발을 잘하는 팀의 얘기를 들어도 항상 좋은 코..