강의

멘토링

로드맵

개발 · 프로그래밍

/

백엔드

MSA 아키텍처에 사용되는 Gateway 패턴 구현하기

해당 강의에서는 yaml을 활용하여 커스텀한 Gateway API를 구성하는 과정을 다루고 있습니다.

(4.8) 수강평 6개

수강생 118명

  • July

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • yaml을 통한 환경주입

  • Kafka를 활용한 Trace

  • Async 처리에 대한 Lock 제어

  • API Gateway를 활용한 최적화 서버 관리

Microservice Architecture에서의 Gateway Pattern은 무엇일까요? 🫨

MSA 환경에서 사용하는 기술들은 무엇이 있을까요?? 대표적으로 Gateway API를 활용하는 Gateway Pattern이 있습니다.

이러한 기술을 구현하기 위해서 여러분들은 apache-apisix, nginx를 주로 사용을 하시며 구현을 하시게 될 겁니다. 이런 서비스를 활용하며 하나의 고성능 웹서버를 구현하고 고성능의 웹서버에서 여러개의 서버에 라우팅하고 여러개의 트래픽을 처리하며 DDOS와 같은 공격에 대해서도 내부 로직을 담당하는 서버를 보호 할 수 있습니다.

이 강의에서는 무엇을 배울 수 있을까요? 🫨

대표적으로 말씀드리고 싶은것은 Go를 사용하여 직접 고성능의 웹서버를 구현 하게 됩니다.

nginx에서 환경 설정 파일을 따로 관리를 하여 고성능의 웹서버를 구현하는 것처럼, 이 강의에서는 yaml을 활용하고 규격을 정의하여 외부 서버에 대한 API Call을 처리 하는 방법에 대해서 학습 하실 수 있습니다.

또한 추가로 Api Call에 대해서 Latency loggingKafka의 producer를 활용하여 API를 통한 비용 서비스에 대해서도 함께 알려드리게 됩니다.

Gateway Pattern을 자주 사용이 되나요? 🫨

이러한 패턴은 상황에 따라서 자주 적용이 되는 Pattern이며 특정 기능을 공통화하는 서버를 활용 할 떄에도 이러한 패턴을 활용합니다.

이런 내용을 배워요

1⃣ Kafka Producer 객체 및 Message 전송

Kafka의 Procuer을 활용하여 API에 대해서 정보를 Trace 합니다.

이를 통해서 Kafka의 Message 처리 방법과 API 과금모델에 대한 아키텍처를 학습 하실 수 있습니다.

2⃣ restry를 활용한 http client 커스터마이징

restry라는 openSource를 활용하고, 여러분들이 알고 계시는 builder pattern을 활용하여 rest API에 대한 Call 및 Request를 구현합니다.

3⃣ 직렬화 최적화를 위한 openSource 커스터마이징

해당 moudle은 다른 서버에 대한 call을 범용적으로 처리하는 프로젝트 입니다. 해당 과정을 지원하기 위해서 직렬화 하는데에 있어서 최적화를 커스터마이징 해서 작업을 진행하고 있습니다.

4⃣ Docker를 활용한 Kafka 및 ui 활용

Kakao, Naver에서 API 과금 모델에 대해서 어떻게 구현할까요??

이 강의에서는 kafka를 활용하여 Message를 전송하는 과정을 직접 구현하며, ui를 통해 여러분들이 좀 더 직관적으로 구현하는 방법을 학습 하실 수 있습니다.

이 강의는 두가지 서버를 제공합니다. 🥳

해당 강의는 yaml파일을 통해서 module을 구동하고, 해당 module에서 외부 서버를 관리함으로써 gateway pattern이 무엇인지에 대한 견해를 제공하고 있습니다.

그러기 떄문에 최적의 성능을 위한 golang 서버와 외부 서버의 역할을 담당하는 node 서버를 제공하고 잇씁니다.


이 두가지 서버를 직접 사용하고 추가로 구현을 하면서 여러분들의 개발이 더 재미있고 흥미로우면 좋겠습니다.

이 강의는 여러분들과 함께합니다. 🤨

이 강의는 특이하게도 강사가 미리 완성된 코드를 따라 작성하는 강의가 아닙니다.


여러분들과 함께 처음부터 소스코드를 하나하나 작성하고 이후 실제로 수정없이 테스트를 진행합니다.

이를 통해서 여러분들에게 좀 더 실제 실무에서 개발하는 느낌을 제공하고 싶고, 실제로 이 과정에서 많은 시간이 소요가 되면서 여러분들이 혼자서 했을 떄 고민했을만한 부분을 제가 직접 마주하면서 해결하고 어떻게 해야해야 하는지에 대한 방향성과 해결 방법을 제공하고 있습니다.


꾸밈없는 강의를 위해서 이러한 방식을 선택했으며, 이러한 과정이 저에게는 완성도 있는 강의가 아니겠지만 여러분들에게는 더 많은 도움이 될 수 있다고 생각합니다.

수강 전 참고 사항

실습 환경

  • 해당 강의는 macos m1에서 개발이 진행이 되었습니다.

  • Kafka에 대한 부분은 Docker를 통해서 구현 합니다.

  • IntelliJ IDE를 활용하여 강의가 촬영되었습니다.


이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 마이크로 서비스를 학습하고 계시는 분

  • Gateway Pattern이 궁금하신 분

  • API 과금 모델이 궁금하신 분

  • kafka를 어떻게 활용하는지 궁금하신 분

  • Docker를 활용한 이미지 활용이 궁금하신 분

선수 지식,
필요할까요?

  • Go [ 개념만 습득하시고 다른 언어를 사용하셔도 무방합니다. ]

  • javascript [ 외부 서버를 담당합니다. ]

안녕하세요
입니다.

3,586

수강생

169

수강평

88

답변

4.5

강의 평점

15

강의

자기 소개

비전공자 출신으로 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

서버 최적화와 다양한 쿼리 튜닝을 좋아합니다.

 

경력

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

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

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

[] 판교 모회사 서버 개발자

커리큘럼

전체

21개 ∙ (2시간 57분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

6개

4.8

6개의 수강평

  • 노영은님의 프로필 이미지
    노영은

    수강평 1

    평균 평점 5.0

    5

    33% 수강 후 작성

    • 감자님의 프로필 이미지
      감자

      수강평 2

      평균 평점 5.0

      5

      100% 수강 후 작성

      Go Lang, API GW에 대해 지식이 전무한 상태로 단순 호기심으로 수강했으나 함께 만들어가는 방식의 강의를 통해 많은 지식과 키워드를 얻을 수 있었던 것 같습니다. 감사합니다!

      • July
        지식공유자

        안녕하세요 좋은 평 남겨주셔서 감사합니다. 개발방식의 다양함을 제공해 드리고 싶었고, 함께 코드를 작성하며 단순히 따라하는 강의가 아닌 같이하는 강의가 되고 싶었습니다. 물론 버벅거림도 많고 실수도 많았지만 그 과정도 개발이기 때문에 모두 표현하였습니다. 앞으로 재미있는 개발 하시기를 바라겠습니다. 감사합니다.

    • 이진혁님의 프로필 이미지
      이진혁

      수강평 9

      평균 평점 5.0

      5

      100% 수강 후 작성

      실무에서 API GW를 구현해야 하는 경우가 생겨 급하게 들은 강의였습니다. Go Lang에 대한 사전 지식, 그리고 API GW에 대한 사전 지식이 없으면 처음에는 따라가기 힘들수도 있다고 생각했습니다. 다만 Go Lang을 현업에서 다루고 있고 API GW에 대한 부분도 중간 중간 서치를 해가면 들으니 핵심만 집중할 수 있어서 꽤나 좋은 강의였습니다. 무엇보다도 API GW에 대한 강의를 찾아보기 힘들기 때문에 더욱 만족도가 높은 강의였습니다. 감사합니다!

      • July
        지식공유자

        안녕하세요 평 남겨주셔서 감사합니다. 저는 다양한 개발방식과 아키텍처를 좋아합니다. 항상 시도하지 않으면 성장은 없다고 생각하기 때문이죠. 개발자라는 직업은 매번 선택은 순간을 마주하게 됩니다. 그 순간마다 최선은 아니더라도 최대의 선택을 해야한다고 생각을 합니다. 이 강의가 진혁님에게 최대의 선택을 할 수 있는 선택지가 되었으면 좋겠습니다. 강의 들어주셔서 감사합니다. 앞으로는 좀 더 초심자도 이해 할 수 있는 강의로 준비해보도록 하겠습니다.

    • KingLoma님의 프로필 이미지
      KingLoma

      수강평 7

      평균 평점 5.0

      5

      100% 수강 후 작성

      강의 자체가 완전한 Gateway느낌은 아니지만 초보자의 입장에서 학습하기에 굉장히 좋다고 생각합니다. 사실 저는 Gateway패턴이 무엇인지도 몰랐던 입장으로써 정말 많은 도움이 되었고, 직접 같이 코드를 작업해나가며 코드 수정을 하는 모습을 보면서 실무적인 느낌도 나면서 굉장히 날것??의 느낌도 났습니다. 이 부분이 저는 되게 강의가 짜임새 있지는 않고 투박한 모습에 가깝겠지만 어떤 모습을 보여주고 싶었는지 전달이 되는거같아서 좋았습니다. 좋음 강의 감사합니다.

      • Roles님의 프로필 이미지
        Roles

        수강평 7

        평균 평점 5.0

        5

        33% 수강 후 작성

        실무적인 느낌이 나는것이 굉장히 좋은 강의였다고 생각합니다. 일단 강의 자체가 집중을 한다면, 하루 이틀 내지 마무리 할 수 있는 강의이며 일반적으로 완성된 부분을 깔끔하게 보여주는 것이 아니라 실제 디버깅을 하고, 중간에 수정을 통해서 함께 코드를 작업하는 느낌이 들었습니다. 그 부분이 저는 굉장히 좋았던거 같아요. 여러개의 강의를 들었지만 이런 강의가 참 와닿는거 같습니다. 주제 자체는 사실 완벽한 NGINX를 구현한다고 느끼지는 못했습니다. 물론 당연하게도 어려운 주제이기 떄문이라고 생각을 하고 그래도 규격에 맞춘 서버를 어떻게 자동화해서 구동을 할 수 있는지 재미있게 들었습니다.

        ₩38,500

        July님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!