전체 글13 gRPC란? gRPC는 Google에서 개발한 RPC(Remote Procedure Call) 시스템입니다. 전송을 위해 TCP/IP 프로토콜과 HTTP 2.0 프로토콜을 사용하고 IDL(Interface Definition language)로 protocol buffer를 사용합니다. gRPC에 대해 이해하기 위해선 다음에 대한 배경지식이 필요합니다. RPC(Remote Communication Mechanism) RPC(원격 프로시저 호출)는 한 프로그램이 네트워크의 세부 정보를 이해하지 않고도 네트워크 안의 다른 컴퓨터에 있는 프로그램에서 서비스를 요청하는 프로토콜입니다. RPC는 client-server 모델을 사용합니다. 클라이언트에서 서비스를 요청(function call)하면, 서버에서 서비스를 제공합니.. 2021. 12. 31. [K8s 디자인 패턴] 1. 사이드카 패턴(sidecar pattern) 디자인 패턴은 문제가 발생했을 때 이에 대해 반복 가능한 솔루션을 제공합니다. 어느정도 알려진 디자인 패턴의 경우 문제를 접근하는 일반적이면서도 효율적인 방법을 제시함과 동시에 커뮤니케이션을 원활하게 한다는 점에 의의가 있습니다. 애플리케이션과 마찬가지로 클라우드 아키텍처를 구성할 경우에도 다양한 디자인 패턴이 존재합니다. 오늘은 그 중에서도 사이드카 패턴을 알아보고자 합니다. 본격적으로 들어가기에 앞서서 사이드카 패턴의 경우 쿠버네티스의 Pod를 이해해야 해당 패턴에 대한 이해가 가능하므로 Pod에 대해서 짧게 짚고 넘어가보고자 합니다. Pod Pod는 K8s의 기본 빌딩 블록이라고 생각할 수 있습니다. 일반적으로 Cluster에서 실행 중인 프로세스를 나타내는 가장 작은 배포 가능 단위입니다. Pod.. 2021. 12. 29. 쿠버네티스와 YAML 파일 쿠버네티스나 컨테이너를 사용하여 소프트웨어 개발을 하게 된다면, YAML 파일은 피할 수 없는 존재입니다. YAML은 YAML Ain't Markup Language의 줄임으로 K8s에서는 클러스터 구성과 관련된 데이터를 지정하는데 사용하는 텍스트 파일 형식입니다. 줄임에 대해서는 약간의 비화가 있는데 원래는 또 다른 마크업 언어 (Yet Another Markup Language) 이였다가 YAML 파일의 핵심이 문서의 마크업이 아닌 데이터 중심이라는 것에서 바꿨다고 합니다. YAML 파일의 정의 K8s에서 어떻게 YAML이 사용되는지를 보기 전에, YAML이 뭔지, 왜 필요한 지부터 짚고 넘어가고자 합니다. yaml.org에서는 YAML 파일을 다음과 같이 표현합니다. YAML is a human-f.. 2021. 12. 29. Redis를 알아보자 (오늘 처음 접한) MSA 아키텍처를 활용한 프로젝트를 진행하던 도중, Mongo DB를 활용하되, 특정 부분에서 Redis를 사용하고 싶다는 팀원 분의 제안에 아무런 말도 하지 못했다. Redis...? 레디스...? 어디서 많이 들어봤는데, 전혀 용도를 모르겠어서 뒤늦게나마 블로그 글로 정리하며 사용처를 알아보고자 한다. Redis란? Redis는 메모리 기반의 key-value 저장소로, Redis는 오픈 소스로 다양한 In-Memory 데이터 구조 집합을 제공합니다. Redis의 주요한 특징으로 다음이 있습니다. Redis는 In-Memory 데이터베이스입니다. 모든 데이터를 메모리에 저장하고 조회하기 때문에 디스크에 데이터를 저장하는 기존 관계형 데이터보다 훨씬 빠른 속도를 제공합니다. Redis는 In-Memor.. 2021. 12. 28. 이전 1 2 3 4 다음