Cloud Native(45)
-
About Nginx
Nginx에 대해 간략히 핵심을 설명합니다. reverse proxy server고성능, 안정적web server 앞에서 traffic을 분산하는 역할역할웹서버정적 content(HTML, CSS, image 등)을 제공동적 content(PHP, Python)을 전달리버스 프록시 서버서버 부하 분산보안: SSL termination으로 보안 통신 처리캐싱: content 캐싱로드 밸런서traffic 분산장애 발생 시 다른 서버로 traffic 전환(가용성 확보)다양한 모듈과 커스터마이징을 통한 설정 가능HTTP, HTTPS, WebSocket 등을 지원RegEx를 통한 URL 기반 routing, cookie 기반 session 유지HTTP 캐시content 캐싱Web socket실시간 양방향 통신 지..
2024.10.17 -
Prometheus (프로메테우스)
프로메테우스는 그리스 로마 신화에 등장하는 티탄 신족입니다. 동생인 에피메테우스와 함께 최초로 인간을 창조한 남신이며 인간들에게 불을 전해준 신 입니다. 이름에는 의미가 있으며 의미는 먼저 보고 생각하는 사람이라는 의미 입니다. 즉, 예지능력이 있는 신 입니다. 헤파이스토스의 대장간에서 불을 홈쳐 인간들에게 전해준 것으로 인해 제우스는 프로메테우스를 카프카스의 바위산에 쇠사슬로 묶어놓고 매일 독수리에게 간을 쪼이는 벌을 받게 합니다. 프로메테우스는 불사신이기에 매일 간이 재생되는 고통을 받게됩니다. 클라우드 서비스중 하나인 프로메테우스는 오픈소스 모니터링 및 경고 기능을 제공하는 도구입니다. 인간에게 전달된 불이 지식과 문명 발달의 근간이 되었다고 여겨졌기에 마찬가지로 클라우드 네이티브 환경에서 모든 중..
2024.03.11 -
Kubernetes (K8s)
K8s 목적 Kubernetes는 컨테이너의 배포와 운영을 자동화하는 툴 입니다. 크게 다음의 목적들을 달성하는데 사용됩니다. 컨테이너들을 서버에 배포 및 구동 컨테이너가 배포된 팟(pod)의 HA(고가용성) 및 Auto-scaling 등의 운영 기능 제공 K8s 구성요소 K8s는 master node와 worker node로 구성됩니다. 마스터 노드는 여러 워커 노드들을 관리하는 노드이며 사용자의 제어에 따라 워커 노드들의 운영 방법을 수행합니다. 마스터노드 다음은 마스터 노드의 주요 구성 요소를 나타냅니다. 마스터 노드의 역할 워커노드들을 관리 클러스터 제어, 감지등을 수행 etcd에 서비스 디스커버리, 스케줄링, 설정등 모든 상태와 데이터를 Key-Value로 저장 (etcd snapshot은 S3..
2024.01.08 -
Backpressure algorithm
처리해야 할 message의 overflow 상황 발생 시 이를 처리하는 방법입니다. microservice가 요청을 전달 받는 즉, push로 받는 경우 buffer 내 가용 공간이 없다면 가장 오래된 것 부터 drop을 합니다. 혹은 microservice가 Kafka와 같이 pull 방식으로 message를 가져가는 것을 지원하는 message broker로부터 message를 처리할 수 있는 만큼만 가져가도록 합니다. push based backpressure buffer overflow 시 data drop backpressure 발생 시 data를 drop 하고 최신 데이터만 유지 pull based backpressure consumer가 처리 가능한 정도만 data를 획득 Kafka는 fu..
2023.08.14 -
Fluent-bit
Logging 시 ELK (Elastic Search, LogStash, Kibana)가 많이 사용되나, K8S Orchestration platform 환경에서는 ELK 대신 fluentbit을 사용하기도 합니다. LogStash, Fluentd, fluentbit 중 fluentbit이 가장 가볍고 분산환경을 잘 대응하기에 K8S에서 많이 사용되고 있습니다. fluentbit은 end-to-end observability pipeline fluent bit은 data source에서의 log에 대해 여러 filtering을 수행하고 buffering 하여 data destination으로 전달합니다. 주요 기능 data parsing and conversion among JSON, RegEx, LTS..
2023.08.14 -
REST client on vscode
vscode에서 REST client라는 extension을 사용하면 쉽게 REST API에 대해 HTTP request를 생성하여 전송 및 response를 처리할 수 있습니다. installation 우선 'REST client' extension을 설치합니다. vscode의 왼쪽 extension tab으로 들어가서 'REST client'로 검색한 것을 설치합니다. example 이제 test할 HTTP request를 작성합니다. 내용은 RFC 2616 표준을 기반으로 작성합니다. test.rest file을 생성한 후 다음과 같은 내용을 추가합니다. ### Define variables #@hostname=localhost @hostname=219.50.40.32 @port=10203 @url..
2023.06.27