목록전체 글 (421)
나의 잡다한 노트 및 메모
TLS ( Transport Layer Security ) 는 서버와 클라이언트 간의 통신을 암호화하고, 양쪽이 서로를 신뢰할 수 있게 하는 보안 프로토콜이다.이 과정을 이해하려면 기본적으로 인증서(Certificate)와 키(key)가 어떻게 동작하는지 알아야한다. 기본 개념: CA, 인증서, 개인 키(1) CA(Certificate Authority) 인증서CA는 인증서를 발행해주는 기관(또는 내부적으로 자체 운영하는 CA)이다.ca.crt 파일은 CA가 소유한 공개 인증서이며, 서버 혹은 클라이언트 측에서 "이 인증서를 발행한 CA가 맞는지"를 신뢰할 수 있도록 검증 기준이 된다.한마디로, "이 인증서는 내가 책임지고 발행했으니 믿어도 된다" 라고 선언해주는 최상위 권위자의 도장이라고 보면 된다. ..
postgresql을 HA 하고 있는 도중에 DCS를 etcd로 구축하고있다.그 과정에서 etcdctl 명령어를 잘 몰라서 정리해본다. etcd 클러스터의 데이터를 조회, 수정, 삭제하거나 클러스터의 멤버를 관리하고 스냅샷을 생성하는 등 다양한 작업을 수행 2. 키-값 데이터 관리데이터 삽입 (put):예) etcdctl put mykey "Hello, etcd!"지정한 키에 값을 저장합니다. etcdctl put 데이터 조회 (get):예) etcdctl get mykey특정 키의 값을 조회합니다. 여러 키를 조회하거나 프리픽스(prefix)를 사용하여 관련된 모든 키를 조회할 수 있습니다. etcdctl get 데이터 삭제 (del):예) etcdctl del mykey특정 키를 삭제합니다. e..
~/.bashrc역할: 인터랙티브한 비로그인(non-login) 쉘(예: 터미널 창을 열었을 때)에 적용되는 설정을 담고 있습니다.사용 예: alias, 함수, 프롬프트 설정 등~/.bash_profile 또는 ~/.bash_login 또는 ~/.profile역할: 로그인 쉘에서 실행되는 스크립트입니다. 시스템에 로그인할 때 (예: 터미널, SSH 접속 등) 환경 변수를 설정하거나, 필요한 초기 작업을 수행합니다.사용 예: PATH 설정, 환경 변수, 로그인 시 실행할 스크립트 로드 등참고: 로그인 쉘에서는 일반적으로 ~/.bash_profile을 먼저 찾고, 없으면 ~/.bash_login 또는 ~/.profile을 사용합니다. 보통 ~/.bash_profile 안에서 ~/.bashrc를 불러오는 구문..
alias는 자주 사용하는 긴 명령어나 옵션을 단축해서 사용할 수 있도록 별칭을 설정하는 기능이다.이를 통해 명령어 입력 시간을 줄이고 실수를 방지할 수 있다. alias 설정 방법 (우분투 기준)현재 세션에 임시 alias 추가터미널에서 직접 alias를 입력하면 해당 세션 동안만 적용됩니다.위 명령은 ll을 입력하면 ls -la 명령어가 실행되도록 설정합니다. alias ll='ls -la' 영구적으로 alias 설정매번 터미널을 새로 열 때마다 alias를 설정하려면 ~/.bashrc 파일에 alias 설정을 추가해야 합니다.텍스트 편집기로 ~/.bashrc 파일을 엽니다. nano ~/.bashrc 파일의 맨 아래에 원하는 alias를 추가합니다. # My custom aliases alias..
데이터베이스 연결 구조 2Tier : 자바 프로그램이 클라이언트로 직접 db 서버에 접근하여 데이터를 접근하는 구조 3Tier : 자바 프로그램과 db 서버 사이에 미들웨어 계층이 존재하는 구조.미들웨어 계층은 비즈니스 로직 구현, 트랜잭션 처리, 리소스 관리 등을 담당한다.postgres에서 pgbouncer이 미들웨어에 속한다. JDBC는 Java Database Connectivity의 약어로, 다양한 종류의 RDB에 접속하고 SQL문을 수행할 때 사용되는 표준 SQL 인터페이스 API이다. 자바 애플리케이션에서 DB에 접근하기 위해선 다음과 같은 구조로 동작한다Java (WEB) application -> JDBC API -> JDBC Driver -> DB Connection Pool (DBCP..
최근에 올렸던 도커에서 db를 올리지 말아야하는 이유에 대한 글과 어느정도 이어지는 부분이다.운영의 복잡성 등등의 이유로 베어메탈 환경에서 db를 올려야겠다는 철학을 가지고 Pigsty를 만들어 PostgreSQL을 쉽게 관리할 수 있게 해주는 도구이다. Pigsty는 PostgreSQL을 기반으로 한 오픈소스 데이터베이스 서비스 아키텍처입니다. 주로 다음과 같은 특징과 목적을 가지고 있습니다:Local-first RDS 대안Pigsty는 클라우드 기반의 “build once, run anywhere” 접근 방식 대신, 각 서버(또는 OS 환경)에 최적화된 로컬 데이터베이스 서비스를 제공합니다.이를 통해 하드웨어의 성능과 신뢰성을 최대한 활용할 수 있습니다.PostgreSQL 배포판Pigsty는 Pos..
https://mp.weixin.qq.com/s/kFftay1IokBDqyMuArqOpg 把数据库放入Docker是一个好主意吗?为什么将生产数据库放到Docker里是一个馊主意?老文重发,顺便预热一下明天的《数据库应该放入K8S中吗?》mp.weixin.qq.com 중국어로 작성됐지만 한글로 번역기 돌리면 된다.좋은 글이다. 실제로 회사에서 구축하는 작업을 하면서 굉장히 공감이 많이 되고 생각이 바뀌게 되는 글이였다.
pg_rewind는 PostgreSQL에 내장된 유틸리티로,실패한 이전 primary 서버의 데이터 디렉터리와 현재 새로운 primary 서버의 데이터 디렉터리 간의 차이를 계산하여,이전 primary 서버를 신속하게 동기화(리와인드)할 수 있도록 도와줍니다.주요 기능 및 사용 목적빠른 재동기화:기존 primary가 장애로 인해 다운된 후, 새로운 primary로 선출된 서버와 데이터가 약간씩 달라진 상태일 때,pg_rewind를 사용하면 전체 데이터베이스의 베이스백업을 다시 만드는 대신,변경된 부분만 빠르게 동기화할 수 있습니다.복구 효율성:데이터 복제 지연이나 장애 복구 시, 전체 클러스터를 재구성하는 시간과 리소스를 절약할 수 있습니다.클러스터 페일오버 후 복원:예를 들어, Patroni와 같은 H..