전체 글 107

Pgpool-II + Watchdog 클러스터 구성 (2/2) | 테스트

pgpool 테스트에 앞서 요구사항을 정리하겠습니다.각 서버 인스턴스에는 pgpool, postgresql이 설치되어 있고, 동일한 네트워크 명에 속해야 합니다. 1. pgpool 및 postgresql 실행# Primary 서버의 Postgresql 인스턴스 실행[server1]# su - postgres[server1]$ /usr/pgsql-17/bin/pg_ctl start -D $PGDATA# 모든 서버의 pgpool 서비스 시작[all servers]# systemctl start pgpool.service# 참고 : 서버를 중단할 경우는 pgpool을 먼저 종료하고 postgresql을 종료합니다.[all servers]# systemctl stop pgpool.service2. _!show ..

Database 2025.03.22

Pgpool-II + Watchdog 클러스터 구성 (1/2) | 기본 설정

신규 서비스 아키텍처 구성 중 데이터베이스의 고가용성(High Availability)과 장애 대응 체계의 필요성이 대두되었습니다. 이러한 문제점을 해결하기 위해 pgpool-II(이하  pgpool)와 watchdog을 도입해 PostgreSQL 클러스터의 로드밸런싱, 장애 감지, 자동 장애 조치(Automatic Failover)를 구현했습니다. pgpool은 PostgreSQL의 앞단에 위치한 미들웨어입니다. 여러 DB 인스턴스를 대상으로 커넥션 풀링, 로드밸런싱, 장애감지 및 페일오버를 수행합니다. pgpool을 단독으로 운영 시 단일 장애점(single point of failure, SPOF)이 될 수 있습니다. 이를 방지하기 위해 다중 pgpool을 구성해야 하는데, watchdog이 다중 ..

Database 2025.03.22

걸리버 여행기

는 잘 알려진 외에 , , 의 이야기로 구성되어 있다. * 라퓨타가 걸리버 여행기의 세계관인지 몰랐다! 당시 영국 시대의 유머와 풍자가 잔뜩 엮여있는 이 소설은 웃음포인트에 공감하고 함께 웃기가 쉽지 않았다. 반면에 비슷한 면모에 공감되기도 했다. 국가에 아무런 도움도 주지 못하지만 국왕에게 재롱이 되는 능력으로 환심을 사기도, 실용적이지 않고 연구를 위한 연구(나는 목적이 아닌 행위 그 자체에 집착하는 모습. 그런 류를 통틀어 말하고 싶다)를 하며 돈만 낭비하는 모습이 공감되었다. 주인공은 본국에서의 생활을 가족에게 위임하고 매번 기나긴 여행을 다녀온다. 소설적인 인격형성이겠지만, 남겨진 것에 애정이 없는 부분이 조금 차갑게 느껴지기도 했다.(후이넘에서의 생활에 완전히 적응하고 본국의 삶은 잊는다던지..

생각 & 리뷰 2025.03.21

정의란 무엇인가 | 구글 맵 혁명

수험생 시절 필독서로 꼽혔던  작가의 필력 덕분인지 어려운 내용임에도 불구하고 몰두해서 재밌게 읽었다. 책의 구성은 아리스토텔레스, 칸트, 롤스 등의 철학자들의 이론을 소개한다. 그리고 현대사회의 문제와 연관 시켜 이해(마이클 조던, 난파선에서의 식인, 대리모 사건 등)를 돕기도 한다. 덕분에 우리의 생활에서 철학이 어떻게 연관되어 지는지 한번 생각해보게 되었다. 그 중 많은 철학자들이 등장하지만 사람을 수단이 아닌 목적으로 대하라던 '칸트'가 인상 깊었다. 인간관계에 있어서의 '정의'에 대해 내가 생각하는 것과 가장 가까웠다. 처음은 '어떤 것이 과연 정의일까?' 하는 궁금증으로 시작했다. 그리고 점차 '이것은 단정 지어질 수 없구나라는 생각이 들었다. 그리고 의문이 들었다. 그러면 우리는 어떻게 해야..

생각 & 리뷰 2025.03.21

채식주의자 | 소년이 온다

노벨문학상 이후 한강 작가의 이었다. '읽어보고 싶다..' 생각하던 중 동료도 그 에 맞게 책을 구해 읽고 있었기에 커피 한 잔 값을 지불하고 책을 빌려 읽기 시작했다. 지루하지 않고 간결한 문체였다. 문장을 읽으면서 생생히 돋아나는 감각이 좋았다. 때로는 그 감각이 너무 생생하였기에 '불쾌감'이 드는 경우도 있었다. 단편 소설로 기획되었다고 한다. 실제로 1장이 끝나고 2장을 읽으며 1장과는 사뭇 내용이 다르게 느껴져 '1장의 세계관은 끝났구나' 라고 생각하며 아쉽기도 했다. 물론 다행히도(?) 그런 일은 없었다. 청소년 권장도서 지정 관련 논란이 있었다. 읽을 수록 충분히 그럴만한 작품이라는 생각이 들었다. 예술적인 장면이지만 그 표현과 생생함이 남달랐고 파격적이었기 때문이다. 가장 인상 깊은 것은 ..

생각 & 리뷰 2025.03.20

Auth.js, Prisma, Neon 스키마 생성하기

개발환경- Next.js : v15.1.4- Next-Auth : 5.0.0-beta.25- Prisma : 6.2.1환경변수 지정1. .env 파일 수정# .env 환경변수 수정# openssl rand -base64 32 또는 npx auth secret을 통해 생성한 결과AUTH_SECRET=[생성한 secret] # Neon에서 가져온 환경변수# Recommended for most usesDATABASE_URL=************# For uses requiring a connection without pgbouncerDATABASE_URL_UNPOOLED=*********************# Parameters for constructing your own connection s..

Node.js 2025.01.19

Rocky Linux 9 (5.14.0-503.21.1.el9_5.x86_64) : Iptime A3000U 설치(RTL8812BU)

상황1. LINUX OS를 무선으로 운영해야한다.2. 설치해야하는 IPTIME A3000U는 리눅스를 지원하지 않는다.기본사항- CPU : 7500F- OS : ROCKY LINUX 9- KERNEL :  5.14.0-503.21.1.el9_5.x86_64- REALTEK NETWORK CHIPSET : RTK8812BU해결과정1. 드라이버 설치 과정에서 필요한 패키지 설치sudo dnf install git dkms kernel-devel2. git 저장소 clonegit clone https://github.com/morrownr/88x2bu-202107023. install-driver.sh 설치cd 88x2bu-20210702sudo ./install-driver.sh4. 설치완료

Linux 2025.01.17

[JavaScript | 프로그래머스 | Lv_2] 도넛과 막대 그래프 (2024 KAKAO WINTER INTERNSHIP)

😉 아이디어1. 각 그래프별 특징 활용 막대 : 막대의 마지막 부분은 간선을 받기만 하고 주지는 않음, 8자: 8자 중앙 노드는 받는 것과 주는 것이 2개씩2. 최초의 정점에서 뻗친 간선의 수 = 그래프의 총 개수😉풀이function solution(edges) { var answer = []; var totalNodeCount = edges.reduce((acc, edge) => { return Math.max(acc, ...edge) }, -Infinity) + 1 var inEdges = Array.from({ length: totalNodeCount }, () => []) var outEdges = Array.from({ length: to..

알고리즘 2024.10.05

[Python | 프로그래머스 | Lv_3] 수레 이동하기 (PCCP 기출문제)

😉 아이디어1. 2개의 수레에 대한 좌표 탐색 중첩 👉 이중 탐색 DFS or BFS2. 2개의 수레를 이동하는 중 수레의 위치가 서로 뒤바뀌는 경우와 두 개의 수레 도착 지점이 동일한 경우를 제외해야한다.3. 수레의 위치가 서로 뒤바뀌는 경우의 조건문 체크에 오류가 있었다. - 기존 : (n_bx, n_by) != red_start and (n_rx, n_ry) != blue_start - 수정 : not ((n_bx, n_by) == red_start and (n_rx, n_ry) == blue_start) - 두 개의 좌표 중 하나라도 원점 좌표와 일치하지 않으면, 참이 되어야 하지만(스위칭이 아니므로) 기존 조건식은 거짓 처리 중이었다...

알고리즘 2024.10.04