728x90 전체 글86 API Gateway 1. API Gateway? 모든 클라이언트 요청에 대한 end point를 통합하는 서버이다. 2. API 게이트 웨이 이점 마이크로 서비스에서 아래와 같은 이유로 API Gateway를 사용합니다. 1) 외부의 public API를 내부 마이크로 서비스 API와 분리합니다. 요청 API 는 Routing 기능을 이용하여 내부에서 사용하는 API와 다르게 구성하여 내부 구조를 숨길 수 있습니다. 외부에서 요청되는 API는 단일 진입점을 제공함으로서 버전 상세정보나 서비스 디스커버리 정보등을 가릴 수 있습니다. 2) 보안을 위한 계층을 보완합니다. SQL Injection, XML Parser exploits, Dos 등의 악의적인 공격을 방지하기 위해 내부 API를 외부로 부터 가릴 수 있습니다. 3).. 2021. 6. 27. [MSA] 기본원칙 MSA? 작고, 독립적으로 배포 가능한 서비스들의 모임으로 구조화하는 서비스 지향 아키택처로 마이크로서비스는 완전히 독립적으로 배포가 가능하고, 개발 및 테스트를 더 쉽게 해준다. 규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다 1) DDD (Domain Driven Design) 업무 영역별로 시스템을 분리합니다. DDD의 주 목적은 핵심 도메인과 관련 로직에 집중하는 것입니다. 이렇게 함으로써 애플리케이션이 감당못할 수준으로 변모하는 것을 막을 수 있습니다. 2) 구현 내용 은닉 마이크로 서비스는 전체 시스템의 부분체로서 함께 작동하기 위한 독립적인 라이프 싸이클을 가지는 작은 서비스들입니다. 한 서비스를 타 시스템과는.. 2021. 6. 27. HTTP 응답 상태 코드 Http 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려주며 정보를 제공, 성공, 리다이렉션, 클라이언트 에러, 서버 에러 그룹으로 나뉜다. 1xx (정보를 제공하는 응답) 요청을 받았고, 작업을 진행 중이라는 의미 100(Continue): 클라이언트로부터 일부 요청을 받았으며 나머지를 이어서 보내야 함을 의미 (요청을 완료한 경우 무시) 101(Switching Protocol): 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중을 의미 102(Processing / WebDAV) : 서버가 요청을 수신하였으며 이를 처리하고 있지만 아직 제대로 된 응답을 알려줄 수 없음을 의미 2xx (성공) 요청한 동작을 수신하여 이해했고 성공적으로 처리했음을 의미 200(OK.. 2021. 6. 24. [DB] Sharding 1.Sharding? → 같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법 *Horizontal Partition이라고 볼 수 있으며, Application level 및 database level에서도 가능하다. *프로그래밍, 운영적인 복잡도가 높아진다는 단점이 있다. 2.Sharding에 필요한 원리 - 분산된 Database에서 Data를 어떻게 Read할 것인가? - 분산된 Database에 Data를 어떻게 잘 분산되어 저장할 것인가 - 균일하게 분산하는 것이 목표 3. Sharding 방법 Hash Sharding - Shard Key : Database id를 Hashing하여 결정 - Hash크기는 Cluster안에 있는 Node개수로 정한다. 단점 - Clu.. 2021. 6. 24. 이전 1 ··· 14 15 16 17 18 19 20 ··· 22 다음 728x90