본문 바로가기
728x90
반응형

API20

[추가학습] Dart 서버/ 서버 미들웨어 및 플러그인 작성 / 서버 미들웨어의 개념 Dart 서버: 서버 미들웨어 및 플러그인 작성하기오늘은 서버 미들웨어의 개념과 Dart에서 미들웨어의 역할, 그리고 요청/응답 미들웨어를 작성하는 방법에 대해 알아보겠습니다.초보자도 이해할 수 있도록 쉽게 설명해 드릴게요.서버 미들웨어의 개념서버 미들웨어는 클라이언트의 요청과 서버의 응답 사이에서 중간 처리를 하는 소프트웨어입니다.미들웨어는 요청을 가로채서 추가적인 작업을 수행할 수 있게 해줍니다.예를 들어, 인증, 로깅, 에러 처리와 같은 작업을 미들웨어를 통해 처리할 수 있습니다.미들웨어의 필요성코드 재사용: 공통된 기능을 여러 라우터에서 재사용할 수 있습니다.응집력 있는 구조: 관련 기능을 모아서 관리할 수 있어 코드가 더 깔끔해집니다.유지 보수 용이: 기능을 한 곳에서 관리하므로 수정이나 유지 .. 2024. 9. 22.
[추가학습] Dart 서버/ 분산 시스템 및 서버 확장성 / 이벤트 기반 아키텍처 Dart 서버와 분산 시스템: 이벤트 기반 아키텍처의 이해와 활용오늘은 이벤트 기반 아키텍처에 대해 알아보겠습니다. 특히 Dart를 활용한 이벤트 기반 프로그래밍, 이벤트 소싱 패턴 적용하기, 그리고 CQRS 패턴과 이벤트 소싱의 연계에 대해 쉽게 설명드릴게요.이벤트 기반 프로그래밍과 Dart의 활용이벤트 기반 프로그래밍은 프로그램의 흐름이 이벤트의 발생에 따라 결정되는 방식입니다. 즉, 사용자의 행동이나 시스템의 변화가 이벤트로 발생하고, 이 이벤트에 대한 처리 로직이 실행됩니다.Dart에서의 이벤트 기반 프로그래밍Dart에서는 Stream과 Future를 통해 이벤트 기반 프로그래밍을 쉽게 구현할 수 있습니다. Stream은 여러 이벤트를 순차적으로 처리할 수 있는 객체입니다.코드 예제: 간단한 이벤.. 2024. 9. 22.
[추가학습] Dart 서버/ 분산 시스템 및 서버 확장성 / 서버 확장성 고려하기 Dart 서버와 분산 시스템: 서버 확장성 고려하기오늘은 서버 확장성에 대해 알아보겠습니다.Dart 서버를 설계할 때, 확장 가능하고 효율적인 아키텍처를 만드는 방법과 로드 밸런싱 및 서버 샤딩 전략에 대해 설명할게요.확장 가능한 Dart 서버 아키텍처 설계확장성이란 시스템이 사용량이 증가할 때 성능을 유지하거나 향상시킬 수 있는 능력을 말합니다.Dart 서버 아키텍처를 설계할 때는 다음과 같은 요소를 고려해야 합니다.1. 마이크로서비스 아키텍처마이크로서비스 아키텍처는 애플리케이션을 작은 서비스로 나누어 각각 독립적으로 배포하고 관리하는 방법입니다. 각 서비스는 독립적으로 확장할 수 있어 전체 시스템의 유연성을 높입니다.2. 비동기 프로그래밍Dart는 비동기 프로그래밍을 지원합니다. 비동기 코드를 사용하.. 2024. 9. 22.
[추가학습] Dart 서버/ 분산 시스템 및 서버 확장성 / 분산 시스템의 개념과 Dart의 적용 Dart 서버와 분산 시스템: 기본 개념과 구성 방법오늘은 분산 시스템의 개념과 이를 Dart 서버에서 어떻게 적용할 수 있는지에 대해 알아보겠습니다.초보자도 쉽게 이해할 수 있도록 구성할게요.분산 시스템의 기본 개념분산 시스템은 여러 대의 컴퓨터가 네트워크를 통해 연결되어 함께 작업하는 시스템입니다. 이 시스템은 고가용성, 확장성, 내결함성을 제공합니다. 다음은 분산 시스템에서 자주 사용되는 개념입니다.1. Consistent HashingConsistent Hashing은 데이터의 분산 저장을 효율적으로 관리하기 위한 알고리즘입니다. 서버의 수가 변해도 데이터의 재배치가 최소화되는 장점이 있습니다. 예를 들어, 서버가 추가되거나 제거될 때, 전체 데이터를 다시 배치할 필요 없이 일부 데이터만 이동하면.. 2024. 9. 22.
[추가학습] Dart 서버/ Rate Limiting&Throttling과 클라우드 서비스 연동 / 클라우드 기반 Rate Limiting 도구 (예: AWS API Gateway, Google Cloud Endpoints) Dart 서버에서 Rate Limiting과 Throttling: 클라우드 서비스 연동오늘은 Dart 서버에서 Rate Limiting과 Throttling을 클라우드 서비스와 연동하는 방법에 대해 알아볼게요.AWS API Gateway와 Google Cloud Endpoints 같은 클라우드 기반 도구를 활용해 초보자도 이해할 수 있도록 설명하겠습니다.Rate Limiting과 Throttling의 차이먼저, Rate Limiting과 Throttling의 개념을 다시 정리해볼까요?Rate Limiting: 일정 시간 동안 허용되는 요청 수를 제한합니다. 예를 들어, 한 시간에 100개의 요청만 허용하는 것입니다.Throttling: 요청의 속도를 조절합니다. 예를 들어, 초당 최대 5개의 요청만 받는.. 2024. 9. 22.
[추가학습] Dart 서버/ API Throttling 기법 / Dart에서 API Throttling 구현하기: 다양한 전략 (토큰 버킷, 누적 버스트 등) Dart 서버에서 API Throttling 기법: 다양한 전략오늘은 Dart 서버에서 API Throttling을 구현할 때 사용할 수 있는 다양한 전략에 대해 쉽게 설명해드릴게요.초보자도 이해할 수 있도록 토큰 버킷, 누적 버스트 등의 기법을 소개할게요.Throttling의 필요성Throttling은 서버가 과도한 요청을 받지 않도록 도와줍니다. 이를 통해 서버의 안정성과 성능을 유지할 수 있어요. 이제 여러 가지 전략을 알아볼까요?1. 토큰 버킷(Token Bucket) 전략토큰 버킷은 요청을 허용하는 방식으로, 요청이 들어올 때마다 토큰을 사용해요. 각 요청에는 토큰이 필요하고, 토큰은 주기적으로 생성됩니다.토큰 버킷 구현하기import 'dart:async';class TokenBucket { .. 2024. 9. 22.
728x90
반응형