목록Computer & Data (155)
이야기박스
정말 오랜만에 기술 글입니다. 이번 포스팅은 링크드인에서 읽었던 카프카 글을 번역하는 느낌으로 작성해 보았습니다. Summary 카프카 브로커는 아파치 카프카의 중심 구성 요소로 메시지를 수신, 저장 및 전달하는 허브 역할을 합니다. 카프카 브로커는 토픽, 파티션 및 복제본을 관리하여 Fault Tolerance와 확장성을 보장합니다. 카프카 브로커는 네트워크 스레드, I/O 스레드, 커밋 로그 및 Purgatory와 같은 구성 요소를 포함하는 Producing 및 Fetch 요청을 처리합니다. 카프카 브로커를 이해하는 것은 신뢰할 수 있고 확장 가능한 메시지 저장 및 전달 시스템을 구축하는데 필수적입니다. What is a Kafka Broker? 아파치 카프카의 브로커는 카프카의 핵심 구성요소입니다...
개발자 또는 학생으로서 네트워크를 접하다 보면 필연적으로 OSI 7 계층에 대한 이야기가 꼭 나오게 됩니다. 면접에서도 종종 나올 수 있는 내용이지요. 신입 면접에서는 자주 등장하고 경력 면접에서도 지원자가 네트워크 지식이 약하다 생각되면 종종 물어보기도 합니다. 그렇기에 이번 포스팅에서는 OSI 7 Layer 에 대하여 알아보도록 하겠습니다. 이 포스팅을 거친 독자분들은 시험, 면접도 잘 보실 것이라 믿고 현업에서 일하시는 분들도 복습할 수 있는 좋은 기회가 될 것이라 믿습니다. OSI란 무엇이고 왜 중요한가요? OSI는 `Open Systems Interconnection` 의 약자입니다. 이를 직역하면, OSI 7 Layer란 것이 시스템 간 통신에 대하여 다룬 내용이란 걸 유추해 볼 수 있습니다...
들어가기에 앞서 오랜만에 글을 작성하게 되었습니다. 한발 늦은 감이 있지만, 얼마 전까지 ChatGPT로 한참 시끄러웠었죠. 특히 GTP4는 업무에 도움이 될 수준으로 답변을 주곤 했습니다. 그래서 오늘은 openAI에서 제공하는 API로 재미 삼아 예제 프로그램을 만들어보고자 합니다. 오늘 작성된 코드는 Git repo에서도 확인할 수 있습니다. API Key 획득 openAI에 회원 가입을 하여 API key 획득을 해야 합니다. 아쉽게도 2023년 4월 기준으로 gpt3.5 까지만 API로 지원을 하고 있습니다. gpt4 API는 별도 구매가 필요한 것 같아요. (https://openai.com/pricing) OpenAI 사이트에서 개인 정보 수정에 들어가면, 이런식으로 API Key 생성해 두..
Overview Docker container에서 네트워크 구성을 어떻게 확인하는지? 그리고 새로운 네트워크 환경은 어떻게 만드는지? 도커를 업무 환경에서 본격적으로 사용하려면 필요한 지식들이죠. 오늘은 이 부분에 관련하여 포스팅을 작성하려고 합니다. 포스팅 내용은 아래 공식 도커 문서를 활용하여 작성하였습니다. https://docs.docker.com/engine/tutorials/networkingcontainers/ Network containers docs.docker.com Container Network 호스트 OS에서 도커 컨테이너를 생성하면 위와 같은 구조로 생성됩니다. Network Driver 도커는 기본으로 `overlay`, `bridge` 라는 두 가지 네트워크 드라이버를 제공합..
Overview 예전에 쿠버네티스 공부하면서 Container, VM 차이점을 간단하게 짚고 넘어간 적이 있습니다. Kubernetes 1. Introduction # 쿠버네티스 필요한 이유 최근 어플리케이션 개발 트렌드가 변화하였기 때문입니다. 과거에는 거대한 모놀리식 애플리케이션 개발/운영이었다면, 요즘 들어서는 "마이크로 서비스"로 세분화되 box0830.tistory.com 오래되기도 하였고 복습할 겸 여러 문서들 보는데 아래와 같은 포스팅도 보여 이번 포스팅을 작성하게 되었습니다. What is the difference between a process, a container, and a VM? Many people ask “What is the difference between a VM and..
지난번 Docker-compose를 활용한 Redis 배포에 이어서 이번에는 Kubernetes에 배포를 해보려고 합니다. Helm에서 유명한 오픈소스인 bitnami charts를 활용하여 helm으로 간단하게 배포를 진행해보았습니다. 사전 작업 helm repo add bitnami https://charts.bitnami.com/bitnami Sentinel 구성 values.yaml 파일을 아래처럼 간소화해서 구성하였습니다. # sentinel-values.yaml fullnameOverride: redis-sentinel commonAnnotations: reference/blog: https://box0830.tistory.com/ image: tag: 7.0.5-debian-11-r0 arc..
지난번 포스팅을 통하여 Redis의 정의 및 Sentinel, Cluster의 고가용성을 알아보았는데요. 이번에는 간단하게 docker-compose를 활용하여 아래 세 가지 방법의 Redis 구성을 진행해보았습니다. Standalone Sentinel Cluster mode 간단하게 설정 파일 및 실행 명령어만 작성해두었습니다. 궁금한 점은 댓글로 남겨주시면 최대한 답변 남기도록 하겠습니다. What is Redis; Remote Dictionary Server Airflow의 CeleryExecutor를 사용할 때, Redis가 Queue로써 동작하는 것을 알고 있었지만, 지금까지 이를 제대로 알아보고자 한 적이 없었습니다. 이번 기회에 Redis가 무엇인지, 어떠한 구조로 이루어져 있 box0830..
Overview 지난 포스팅에서 Redis가 무엇인지 가볍게 살펴보는 시간을 가졌었습니다. 이번 포스팅에서는 Redis의 HA 구성을 주제로 Sentinel과 Cluster 두 방식을 비교해보도록 하겠습니다. What is Redis; Remote Dictionary Server Airflow의 CeleryExecutor를 사용할 때, Redis가 Queue로써 동작하는 것을 알고 있었지만, 지금까지 이를 제대로 알아보고자 한 적이 없었습니다. 이번 기회에 Redis가 무엇인지, 어떠한 구조로 이루어져 있 box0830.tistory.com Sentinel Sentinel이라는 이름이 처음에는 낯설었지만, 어느 순간부터 zookeeper를 생각하면서 읽다 보니 괜스레 친숙하게 느껴지더라고요. Sentin..