728x90
반응형

분류 전체보기 80

[K8S] Node Affinity 간단하게 사용해보기

Node Affinity Node Affinity는 Kubernetes에서 Pod가 실행될 특정 노드를 선택하는 방법을 지정하는 기능입니다. 예를 들어서 현재 K8S 클러스터에는 controlplane, node01이라는 노드가 존재합니다. controlplane이라는 노드에서는 k8s 클러스터를 운영하는데 중요한 컴포넌트만 존재합니다. 따라서 클러스터 운영과 관련 없는 컴포넌트들은 node01에만 스케줄링하고 싶습니다. 이때 사용할 수 있는 방법 중 하나가 Node Affinity입니다. Pod가 스케줄 될 Node에 label 설정 Node Affinity를 사용하기 위해서는 pod가 스케줄링될 node를 선택하는데 기준이 될 label이 node에 필요합니다. 확인해 보니 node01에는 기존에 ..

개발 2024.01.30

[RabbitMQ] - 3. Spring boot로 Work Queue에 다수의 consumer를 등록하여 task 처리하기

개요 오늘은 Work Queue를 등록해서 resource-intensive task(리소스를 많이 사용하는 작업)를 다수의 consumer에게 분배하는 방법을 spring boot로 작성해보려고 합니다. 작업의 핵심은 Work Queue를 등록하여 리소스를 많이 사용하는 작업을 바로 수행하지 않고, 나중에 수행하도록 스케쥴링하며 요청자는 작업이 완료될 때까지 기다리지 않도록 하는 것입니다. 준비 준비해야 할 것은 다음과 같습니다. 1) 프로젝트 생성 2) Queue, Consumer, Producer 설정 1) 프로젝트 생성 https://start.spring.io/ 프로젝트를 생성하겠습니다. spring boot를 사용하고 의존성은 간단하게 lombok과 RabbitMq만 추가하도록 하겠습니다. 2..

개발 2024.01.14

QueryDsl 설정 (인텔리제이, maven)

인텔리제이 + maven 사용해서 QueryDSL을 설정해봅시다. 필요 라이브러리 querydsl-apt: 쿼리 타입(Q-Class)을 생성할 때 필요 querydsl-jpa: QueryDSL JPA 라이브러리 com.mysema.querydsl querydsl-apt 3.6.3 provided com.mysema.querydsl querydsl-jpa 3.6.3 QueryDsl을 사용하기 위해 필요한 라이브러리는 위와 같습니다. pom.xml을 열어서 안에 추가해주세요. 버전은 사용하시는 환경에 맞게 설정하시면 됩니다. Q Class 생성 플러그인 추가 QueryDSL을 사용하려면 엔티티를 기반으로하는 쿼리용 클래스를 생성해야 합니다. 해당 클래스를 컴파일시 자동으로 생성하기 위해서 플러그인을 추가해주..

개발/자바 2022.04.05

JPQL - Fetch join? with 테스트 코드

Fetch Join? SQL에서 이야기하는 조인의 종류가 아니라 JPQL에서 성능 최적화를 위해 제공하는 기능 연관된 엔티티나 컬렉션을 한 번에 같이 조회하는 기능으로, join fetch 명령어로 사용할 수 있다. 예제를 진행하기에 앞서 사용할 클래스는 다음과 같다. @Entity @Table(name = "members") public class Member{ @Id @Column(name= "member_id") private Long id; ​ @Column private String name; ​ @ManyToOne(fetch = FetchType.Lazy) // 테스트를 위해 지연 로딩을 사용한다. @JoinColumn(name="team_id") private Team team; } ​ @E..

개발 2022.04.03

[실용주의 프로그래머] 8장 - 실용주의 프로젝트를 읽으며

개요 이번 챕터에서는 프로젝트가 진행됨에 따라 고려해야 하는 프로젝트 전체 차원의 문제들을 다룹니다. 8장에서 다루는 내용은 다음과 같습니다. 실용주의 팀 유비쿼터스 자동화 가차없는 테스트 결국은 모두 글쓰기 위대한 유산 오만과 편견 느낀점 및 정리 실용주의 팀 지금까지 이 책에서 다룬 내용은 개인이 실용주의 프로그래머가 되는데 도움이 되는 팁이었습니다. 그러나 이 팁은 개인뿐만이 아닌 팀 단위로도 적용이 가능한 팁으로, 개인이 실용주의 팀에서 일하게 된다면 개인이 실용주의적이 되는 것에 몇 배에 달하는 이득을 얻을 수 있다고 합니다. 지난 챕터들에서 다루었던 내용들을 팀 측면에서 생각하면 다음과 같습니다. 깨진 창문을 없애라: 품질은 팀의 이슈 -> 팀 전체가 깨진 창문을 용납하지 않아야 합니다. 삶은..

개발 2021.12.22

[실용주의 프로그래머] 7장 - 프로젝트 전에를 읽으며

개요 이번 챕터에서는 프로젝트를 시작하기 전에 생각할만한 것들을 다룹니다. 요구사항 분석이라던지 제약 조건이라던지.. 프로젝트를 시작하기 전부터 우리를 옭아매는 것들을 어떻게 지혜롭게 처리할 수 있을지 알아보도록 하겠습니다. 이번 챕터에서 다루는 내용은 다음과 같습니다. 요구사항의 구렁텅이 불가능한 퍼즐 풀기 준비가 되어야만 명세의 함정 동그라미와 화살표 느낀점 & 정리 요구사항의 구렁텅이 프로젝트를 시작하기 전에 요구사항의 구렁텅이에 빠지는 경우가 많습니다. 요구사항을 발견하는 것은 어렵고, 찾아낸 요구사항이 실제로 요구사항이 맞는지 확신하기도 어렵습니다. 그리고 마치 우리의 시간만 끝없이 잡아먹는 것처럼 보이기도 합니다. 이럴 때, 명확한 요구사항을 찾기 위해 우리가 해볼 수 있는 방법 중 하나는 우..

개발 2021.12.21
728x90
반응형