DEV
-
동기 / 비동기, 블로킹 / 논블로킹DEV 2023. 9. 23. 19:02
동기와 비동기 - 동기(Synchronous): 요청한 작업을 완료 여부에 따라서 작업을 처리 - 비동기(Asynchronous): 요청한 작업을 완료 여부를 따지지 않고 작업을 처리 A, B, C라는 3개의 작업이 실행될 때 동기는 순차적으로 A -> B -> C 순으로 처리가 되지만 비동기는 순서가 보장되지 않고 무작위로 작업이 수행됩니다. (ex A -> C ->B or C -> B -> A ....) // 동기 console.log("A"); console.log("B"); console.log("C"); // 결과값: A B C // 비동기 fetch("https://google.com").then((response) => console.log("A"); fetch("https://google...
-
Docker NetworkDEV 2023. 9. 17. 16:06
도커 컨에티너는 격리된 환경에서 실행되기 때문에 기본적으로 다른 컨테이너와의 통신이 불가능합니다. 하지만 여러개의 컨테이너를 하나의 도커 네트워크에 연결시키면 서로 통신이 가능해집니다. 도커 네트워크 bridge : 하나의 호스트에서 여러 컨테이너들이 서로 통신할 수 있도록 해줍니다. host : 컨테이너를 호스트와 동일한 네트워크에서 컨테이너를 실행하기 위해서 사용됩니다. overlay : 여러 호스트에 분산되어 실행되는 컨테이너들 간에 통신하기 위해서 사용됩니다.
-
Service Mesh란?DEV 2023. 7. 16. 15:35
Service Mesh란? MSA를 적용한 시스템의 내부 통신이 Mesh 네트워크 형태를 띠는 것에 빗대어 Service Mesh로 불려집니다. 추상화를 통해 복잡한 내부 네트워크를 제어, 추적, 네트워크 관련 로직을 추가함으로써 서비스 메시는 애플리케이션의 트래픽을 관리, 추적, 보안성을 강화하는 플랫폼 레이어에 구성되는 네트워크 제어 방법입니다. 서비스 메시는 데이터 플레인, 컨트롤 플레인 두 개의 컴포넌트로 구성이 되어있습니다. 데이터 플레인은 애플리케이션 사이에 있는 프록시 네트워크를 구성하고 있습니다. 데이터 플레인의 프록시는 보통 엔보이를 사용하고 모든 서비스에 대한 인바운드/아웃바운드 트래픽을 관장합니다. 컨트롤 플레인은 프록시에게 수행할 작업을 알려주고 메시를 작동하는 사람을 위한 인터페..
-
Docker로 Redis cluster 구성DEV 2022. 5. 1. 14:03
redis cluster는 최소 3개의 레디스 노드로 구성이 되어야함 해당 예제에서는 레디스 노드들을 각각 6300, 6301, 6302번 포트로 실행 실행되는 포트 번호를 변경하려면 compose파일의 포트와 redis*.conf 파일의 포트를 수정 version: "3.9" services: redis-cluster: image: redis:latest container_name: redis-cluster volumes: - ./redis.conf:/usr/local/etc/redis.conf command: redis-server /usr/local/etc/redis.conf ports: - 6300:6300 - 6301:6301 - 6302:6302 redis-node1: network_mode:..
-
[Docker] 설치 및 기본 명령어DEV 2021. 1. 30. 14:23
설치 링크 www.docker.com/get-started Get Started with Docker | Docker Learn about the complete container solution provided by Docker. Find information for developers, IT operations, and business executives. www.docker.com 설치 확인 docker version Output Client: Docker Engine - Community Cloud integration: 1.0.7 Version: 20.10.2 API version: 1.41 Go version: go1.13.15 Git commit: 2291f61 Built: Mon Dec 2..
-
Kafka란?DEV 2020. 8. 27. 21:37
메시지 큐의 일종으로 분산형 스트리밍 플랫폼 메시지를 메모리에 저장하는 다른 메시지 큐와 달리 메시지를 파일 시스템에 저장하여 메시지 유실을 줄일 수 있음 다른 메시지 큐는 broker가 consumer에게 메시지를 push하는 방식이지만 Kafka는 consumer가 broker로부터 직접 메시지를 가지고 가는 pull 방식으로 동작하기 때문에 consumer는 성능 최적화 가능 주요 개념 Topic 메시지는 topic으로 분류됨 Partition topic이 나눠지는 단위 메시지를 병렬로 처리하기위해 topic을 여러개의 partition으로 나눔 Log partition 내의 하나의 메시지 Offset partition의 각 메시지를 식별할 수 있는 유니크한 값 일종의 인덱스 Producer 메시지..