개발 · 프로그래밍

/

백엔드

1000만 Traffic을 견디며 적용한 RPC 통신에 대해 학습하고 구현해보기

해당 강의에서는 실제 실무에서 사용을 하는 RPC, gRPC통신을 구현하여, 서버간 통신에 대한 리소스를 줄이는 방법에 대해서 다루게 됩니다.

(4.6) 수강평 9

수강생 276

Thumbnail

초급자를 위해 준비한
[백엔드, 네트워크] 강의입니다.

이런 걸
배워요!

  • 서버간 효율적인 통신하는 방법

  • 일반적인 HTTP 통신이 아닌 RPC 통신하는 방법

  • GRPC 통신을 통하여 효율적인 통신하기

실무에서는 서버간의 통신에 있어 어떻게 리소스를 절약할까요?? 🤔

실제 실무에서는 HTTP통신을 주로 사용을 하고 있지만, 자주 호출되는 부분에 대해서는 리소스를 절감해야 할 필요가 있습니다.

이러한 문제에 대한 답은 RPC통신에 있습니다.

HTTP보다 더 작은 데이터를 UnMarshal, Marshal하여 전송을 함으로써 서버간 통신에 있어서 리소스를 줄이게 됩니다.

제가 실제 실무에서 사용을 하는 구조를 토대로 일반적인 HTTP서버를 구축을 하고, 내부에서 GRPC서버를 백그라운드로 구동을 시키는 방식으로 프로젝트를 구성을 하였습니다.


해당 강의를 통해 GRPC서버에서 사용자인증을 관리하는 방법에 대해 저와 함께 알아가셨으면 좋겠습니다.

저는 HTTP가 익숙하고 편한데 왜 굳이 RPC를 사용해야 할까요..? 🤔

📌 여러분들이 대부분 아시는 유명한 기업에서도 리소스 절감을 위해 RPC를 도입하고 사용하고 있습니다.


GRPC통신은 원격 프로시저 호출과 프로토콜 버퍼라는 개념을 적용을 하여 일반적인 HTTP 통신보다 더 절약된 방법으로 서버간 통신을 구현 할 수 있습니다.


해당 강의를 만든 저는 실제 운영 환경에서 갑작스런 트래픽으로 인해 기존 HTTP 통신을 GRPC통신으로 변경을 하여 트래픽에 대한 리소스를 최적화 한 경험이 있습니다.

이런 분들께 추천해요

백엔드 개발로 레벨업하고 싶어요.게시판 CRUD는 할 수 있는데 그 이후에는 뭘 해야 할지 모르겠는 백엔드 개발자

비용을 절약하고 싶어요
순간적인 TPS에 대해서, 갑작스런 오토 스케일링으로 인해 비용이 증감이 우려되는

데브옵스 엔지니어

개발 과정이 궁금해요.
판교 서버 개발자는 어떻게 개발을 하는지, 구조를 어떻게 잡는지 궁금하신

취업 준비생

수강 후에는

  • HTTP와 RPC통신에 대해 알게 되어요

  • RPC를 구축해야 하는 서비스 구조에 대해서 이해할 수 있어요

  • CRUD만 아는 개발자에서, 클라이언트간 통신에 대해 고민할 수 있는 개발자가 될 수 있어요.

  • TPS가 우려되는 상황에 대처하여 의견을 제시 할 수 있는 개발자가 될 수 있어요.

이런 내용을 배워요.

실무에서 적용하는 서버 유동적인 서버 구조

판교에서 일하는 백엔드 개발자는 어떻게 서버 구조를 잡을까?? 강의 주제와 상관없이 실제 실무에서 적용하는 서버 구조에 대해서도 알려드리고 있습니다.

Google에서 만든 Proto 작성법

RPC는 알겠는데, GRPC는 무엇인가요??

GRPC는 구글에서 개발한 RPC FrameWork입니다.

일반적인 JWT가 아닌 PasetoToken을 통한 인증

인증토큰에 대해서 일반적으로 알고 있는 JWT를 사용하지 않고 새로운 암호화 알고리즘을 사용하고 있는 Paseto를 사용합니다.

이를 통해서 여러분들은 새로운 기술에 좀 더 관심을 가지고 있는 개발자가 될 수 있습니다.

확장성 있는 환경변수 관리법

혹시 환경변수를 불러오는 부분을 유동적으로 관리하고 있지 않으신가요??

실제 실무에서는 환경변수를 호출하는 부분에 대해서 데브옵스에서 관리를 하게 됩니다.

그러기 떄문에 데브옵스의 환경에 맞춰주기 위해 유동적인 호출이 가능한 형태로 구성이 되어야 합니다.

실무에서 사용하는 형태를 기반으로 알려드립니다.

수강 전 참고 사항

실습 환경

  • 강의는 MacOS 기준으로 설명합니다.

  • 강의에서는 Go라는 언어를 사용합니다. 익숙하시지 않다면, 평소에 주로 사용하시는 언어를 사용하셔도 무방합니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 서버 개발을 진행하고 계시는 분

  • 리소스를 줄이는 방법에 많은 관심이 있으신 분

  • 취업을 준비하고 계시는 분

선수 지식,
필요할까요?

  • Golang [ 강의 언어일 뿐 모르셔도 무방합니다]

안녕하세요
July입니다.

자기 소개

비전공자 출신으로 대학교 4학년에 갑자기 개발에 흥미가 생겨 혼자서 삽질을 진행하며 개발을 진행했던 서버 개발자...

Mongo Korea, Oracle등등 다양한 기업에서 세션을 진행한 경험이 있으며 이를 토대로

대용량 데이터와 트래픽을 직접 튜닝한 이력과 경험을 기반으로 강의를 촬영하고 이를 통해 수강생 분들이 좀 더 개발에 재미를 느끼게 하고싶은 지식공유자.

 

경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[前] 판교 대기업 플랫폼 서버 개발자

[] 판교 중견기업 모회사 서버 개발자

- 개인적인 사정 및 회사 사정으로 경력 사항의 상세한 부분은 변경 및 수정되었습니다.

커리큘럼

전체

21 ∙ 2시간 11분

수업 자료

가 제공되는 강의입니다.

  • RPC란 무엇이고, 어떤 구조에서 사용을 해야할까..?

    06:02

강의 게시일: 2024년 03월 07일
마지막 업데이트일: 2024년 05월 15일

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!