BACKEND(57)
-
HTTP/3, 제대로 이해하기
해당 포스팅은 HTTP/3의 구조와 특징에 대해 이전 HTTP 프로토콜과 비교하여 이해하는 것을 목표로 합니다. 2022년 6월, HTTP의 세 번째 버전인 HTTP/3가 IETF(Internet Engineering Task Force) 표준으로 채택되었습니다. 새로운 표준에 어떤 특징이 있는지, 웹 상에 어떤 변화가 있을지 알아볼 필요가 있어 보이는데요. 그래서 해당 포스팅에서 HTTP/3의 등장 이유와 그 특징에 대해 알아보겠습니다. 물론, 표준으로 채택된 후 바로 웹 상에 적용되지는 않겠지만, 이를 대비해두고 준비해야할 필요는 있습니다. HTTP HTTP는 HyperText Transfer Protocol의 약자로, 링크를 통해 다른 문서로 연결될 수 있는 문서를 전송하는 규격이 정해진 규칙 체계..
2023.01.01 -
Circuit Breaker, 제대로 이해하기
Circuit Breaker 마이크로 서비스 아키텍처(MSA, Micro Service Architecture)를 쉽게 말하면, 한가지 일만 잘하는 서비스들이 협업하는 아키텍처입니다. 서비스들은 HTTP 통신이나 RPC, Socket 등으로 서로 간의 통신하여 협업합니다. 많은 경우에서, 마이크로 서비스들은 특정 기능을 제공하기 위해 해당 아키텍처의 다른 서비스에게 통신을 요청합니다. 그리곤, 원하는 응답을 받아 계속해서 처리하죠. 비동기의 경우에는 달라질 수 있지만, 동기 방식에는 이런 방식으로 각 서비스가 의존적으로 구성됩니다. 이 경우의 문제점은 한 서비스에서 에러가 발생하거나 느려지면 이를 호출하는 다른 서비스들로 장애가 전파된다는 것입니다. 이를 위해 마이크로 서비스 아키텍처의 서비스들은 스스로..
2022.12.28 -
Rate Limiter, 제대로 이해하기
Rate limiter의 역할과 강단점을 살펴보고, 구현 알고리즘 5가지를 이해하는 것이 해당 포스팅의 목표입니다. 본 포스팅의 모든 그림은 필자가 직접 그린 것으로 무단 사용을 금하며, 사용 시 출처를 반드시 남겨주시길 바랍니다. Rate Limiting Rate Limiting이란 특정 시간 내에 할 수 있는 API 호출 수를 의미합니다. 사용자의 API 호출 수가 Rate Limit값을 초과하면 API 호출이 제한되며 요청이 실패하게 됩니다. 즉, 단어 그대로 API의 속도를 제한합니다. Rate Limiter를 적용하면 고가용성과 안정성을 보장할 수 있습니다. 무차별적으로 인입되는 요청을 받는 서버에서의 불안정성을 생각해보면 RateLimiter의 이 특징을 금방 납득할 수 있습니다. Why us..
2022.11.20 -
Shenyu API Gateway, 어렵지 않게 시작하기 2
이전 포스팅에 이어 해당 포스팅에서는 ShenYu 초기 설정을 수정해보겠습니다. 기본 옵션인 H2 데이터베이스를 MySQL 로 변경하는 작업과 Port를 변경하는 작업, 그리고 만약 binary 파일을 다운받고 실행시켰을 때 java 명령을 못찾는 경우를 위해 경로를 지정하는 방법까지 알아보겠습니다. Using MySQL Shenyu API Gateway에 MySQL을 적용하기 위해서는 Admin에 몇 가지 설정이 필요합니다. 순서는 아래와 같습니다. 1. Download MySQL Connector : Library Package 다운로드 2. conf/application.yml 설정 변경 3. conf/application-mysql.yml 설정 변경: MySQL 연결 정보 입력 하나씩 살펴보도록 ..
2022.10.24 -
Shenyu API Gateway, 어렵지 않게 시작하기 1
이전 포스팅 "Shenyu API Gateway, 어렵지 않게 이해하기" 에서는 SheunYu 에 대한 전반적인 설명을 했는데요. 해당 포스팅에서는 SheunYu를 사용하는 법에 대해 다룹니다. 코드는 Github에서 확인할 수 있습니다. Launch Shenyu Binary Packages 🔗 Ref. Shenyu API Gateway를 사용하기 위해서는 아래와 같은 두 개의 모듈이 실행되어야 합니다. 1. Shenyu Admin Setting 2. Shenyu Bootstrap Setting Admin, Bootstrap 각각 순서대로 실행하면 됩니다. 해당 포스팅에서는 Binary를 받아서 실행시키는 방식을 다루고, 다음 포스팅에서 MySQL을 적용하고 실행 포트를 변경하는 설정으로 실행시키는 과정..
2022.10.23 -
Shenyu API Gateway, 어렵지 않게 이해하기
API Gateway : 전체 서비스 내부 및 외부에서 로드 밸런싱을 포함한 API 트래픽 및 요청을 관리 API Gateway는 백엔드 서비스 또는 데이터와 접속하고 API 호출에 대한 정책, 인증 및 일반 액세스 제어를 적용하여 중요한 데이터를 보호합니다. API Gateway를 통해 사용할 수 있는 특징은 아래와 같습니다. ✔️ 백엔드 시스템 및 서비스에 대한 액세스를 제어 ✔️ 클라이언트와 여러 백엔드 서비스 간 통신 최적화 ✔️ 서비스의 확장성과 고가용성을 보장 ✔️ 요청을 적절한 서비스로 라우팅하고 요청자에게 응답을 다시 보내는 기능을 담당 ✔️ 데이터와 API 간의 보안 연결을 유지 MSA 구조에서 마이크로서비스는 애플리케이션을 느슨하게 결합된 여러 서비스로 분해할 수 있습니다. 이로 인해 ..
2022.10.23