강의

멘토링

커뮤니티

개발 · 프로그래밍

/

백엔드

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

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

(4.8) 수강평 6개

수강생 120명

  • 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,704

수강생

179

수강평

88

답변

4.5

강의 평점

15

강의

자기 소개

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

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

 

경력

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

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

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

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

커리큘럼

전체

21개 ∙ (2시간 57분)

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

수강평

전체

6개

4.8

6개의 수강평

  • yesye11179826님의 프로필 이미지
    yesye11179826

    수강평 1

    평균 평점 5.0

    5

    33% 수강 후 작성

    • slayers14150828님의 프로필 이미지
      slayers14150828

      수강평 2

      평균 평점 5.0

      5

      100% 수강 후 작성

      I took the Go Lang, API GW course out of simple curiosity, as I had no knowledge of it, but I was able to gain a lot of knowledge and keywords through the lecture style of creating together. Thank you!

      • july
        지식공유자

        Hello, thank you for leaving a good review. I wanted to provide a variety of development methods, and I wanted to make it a class where we work together on the code, rather than a class where we simply follow along. Of course, there were a lot of stutters and mistakes, but I expressed them all because that process is also development. I hope you have fun developing in the future. Thank you.

    • iih9075948님의 프로필 이미지
      iih9075948

      수강평 9

      평균 평점 5.0

      5

      100% 수강 후 작성

      I took this course in a hurry because I had to implement an API GW in practice. I thought it might be difficult to follow at first if you don't have prior knowledge of Go Lang or API GW. However, since I work with Go Lang in my job and search for API GW information from time to time, I was able to focus on the key points, so it was a pretty good course. Above all, it was a very satisfying course because it's hard to find courses on API GW. Thank you!

      • july
        지식공유자

        Hello, thank you for leaving a review. I like various development methods and architectures. Because I always think that there is no growth without trying. As a developer, you are faced with a moment of choice every time. I think you have to make the best choice, even if it's not the best. I hope this lecture will be the best choice for Jin-hyuk. Thank you for taking the lecture. In the future, I will prepare lectures that even beginners can understand.

    • kingloma9530254님의 프로필 이미지
      kingloma9530254

      수강평 7

      평균 평점 5.0

      5

      100% 수강 후 작성

      The lecture itself doesn't have a complete Gateway feel, but I think it's great for beginners to learn. In fact, I didn't even know what the Gateway pattern was, so it was really helpful, and as I worked on the code together and saw the code being modified, it felt practical and very raw. I think this part of the lecture is not very well-structured and is more like a rough version, but I liked that it conveyed what he wanted to show. Thank you for the great lecture.

      • 1302님의 프로필 이미지
        1302

        수강평 7

        평균 평점 5.0

        5

        33% 수강 후 작성

        I think it was a really good lecture because it felt practical. First of all, if you focus on the lecture itself, it is a lecture that can be finished in a day or two, and it felt like we were actually debugging and working on the code together through modifications in the middle, rather than just showing the completed part neatly. I think that part was really good for me. I have taken several lectures, but this lecture really resonated with me. The topic itself didn't feel like it was implementing a perfect NGINX. Of course, I thought it was because it was a difficult topic, but I still enjoyed listening to how to automate and run a server that meets the standards.

        지식공유자의 깜짝할인 중 (2일 남음)

        ₩24

        18%

        ₩38,500

        July님의 다른 강의

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

        비슷한 강의

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