일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- yml
- Software maestro
- Grafana
- logback
- MSSQL
- Helm
- eks
- slow query
- Debezium
- hammerDB
- Leaderboard
- docket
- 0 replica
- keda
- Strimzi
- blue-green
- 스프링부트
- propogation
- spring boot
- Database
- SW 마에스트로
- Benchmarks
- SW Maestro
- Kubernetes
- minreplica
- traceId
- 동등성
- Kafka
- Salting
- zset
- Today
- Total
목록전체 글 (64)
김태오
동일성 (identity) 와 동등성 (equality) 는 자주 헷갈리는 개념이다. 전자는 Java 에서 ('==') operator 의 개념이고, 후자는 (equals()) method 개념이다. Identity 우선 자바에서는 모든 객체가 참조로 접근된다. '==' 연산자를 쓸 때는 좌우의 실제값이 아닌 reference 자체로 접근된다. 단, primitive type (int, char, float ...) 에서는 실제값으로 접근된다. reference 로 접근한다는 것은, 실제 값이 같을지언정 주소값이 다르다면 '==' 연산에서는 false 가 나온다는 뜻이다. Integer x = 100; Integer y = 100; System.out.println(x == y); 이런 코드에서는 fal..

우선 kafka 설치이다. brew install kafka 이후 zkServer start //zooKeeper 시작 kafka-server-start /opt/homebrew/etc/kafka/server.properties //kafka 시작 - brew 로 설치하지 않았다면 /usr/local/~ 에 있음 다음으로 간단하게 topic 을 생성해보자. kafka-topics --create --topic test --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 test 라는 이름의 topic 을 kafka server (localhost:9092) 에 생성한다. replication factor 는 가지고 있을 복사본의..
일단 kafka 설치이다. brew install kafka zookeeper 등 kafka 에 필요한 dependency 들이 모두 설치된다. 우선 pub/sub 이란 무엇인지 알아보자. pub/sub 은 publish/subscribe 의 약자인데, 소프트웨어 아키텍쳐에서 사용하는 메시징 파라다임이다. 메시지란 어떠한 이벤트, 커맨드, 데이터 프로세싱 등에 대해서 publish 하는 쪽에서 subscribe 하는 쪽으로 넘기는 데이터 라 보면 된다. 적절한 비유일지 모르겠지만, ReactJS 에서 사용하는 useEffect 를 예시로 들어보자. function ExampleComponent() { const [count, setCount] = useState(0); // useEffect hook t..
Spring Boot 의 Lombok annotation 중 흔하게 @Getter 와 @Setter 를 사용한다. public class Person { private String name; } Person 이라는 class를 정의한다. public String getName() { return this.name; } public void setName(String name) { this.name = name; } 그러면 class 내에 이런 식으로 getter 와 setter 함수를 만든다. @Getter 와 @Setter 는 이런 귀찮은 함수 정의를 빠르게 해 준다. 개발 속도가 빨라지고, boilerplate code의 감소, 쉬운 리팩토링 등 여러 장점이 있다. @Getter(AccessLevel..
데이터베이스의 성능, 신뢰도, 확장성 테스트를 할 때 벤치마크 타입을 선택해야 한다. 수많은 타입이 있는데, 크게 두 가지로 분류하여 다뤄본다. https://ystc1247.tistory.com/entry/Database-%EC%84%A0%ED%83%9D-hammerDB-%EC%82%AC%EC%9A%A9 Database 선택 & hammerDB 사용 데이터베이스 시스템 선택은 장기적인 결과를 초래한다. 선택 이후 운영 과정에서 데이터베이스를 교체할 경우 마이그레이션이 쉽지 않기에 개발 초기에 문제를 예상하고 감지할 수 있어야 한 ystc1247.tistory.com 여기에서는 hammerDB를 사용한 TPC-C 를 사용하여 테스트하였다. 먼저 Transactional Benchmark (OLTP)가 있..
데이터베이스 시스템 선택은 장기적인 결과를 초래한다. 선택 이후 운영 과정에서 데이터베이스를 교체할 경우 마이그레이션이 쉽지 않기에 개발 초기에 문제를 예상하고 감지할 수 있어야 한다. 선택 과정에서 생각해야 하는 것들에는 다음이 있다. - 스키마와 레코드 크기 - 클라이언트 수 - 쿼리 형식과 접근 패턴 - 읽기와 쓰기 쿼리 비율 - 위 변수들의 변동폭 이후 테스트 클러스터를 구성하고 워크로드를 시뮬레이팅 하는 과정이 있는데, 이는 YCSB(서빙 벤치마크), hammerDB 등의 툴로 가능하다. 다음은 hammerDB configuration이다. 원하는 directory에 hammerDB Dockerfile을 생성한다. cd touch Dockerfile vi Dockerfile FROM docker..