-
[STUDY17] RESTful API 와 elasticSearchFISA 2026. 1. 16. 12:36
본 게시글은 UDEMY <Elasticsearch 튜토리얼 - Elasticsearch, Kibana, Logstash, Beats를 사용한 빅데이터 검색, 분석과 시각화 + 인덱스 설정, 쿼리, 페이지 지정, 정렬, Elastic SQL> 강의를 바탕으로 작성되었습니다
elasticSearch가 restful api위에 만들어졌다는 충격적인 소식.우리가 브라우저에서 웹 페이지를 요청할 때마다 HTTP를 웹서버에보내요.엘라스틱도 동일한 방법으로 웹서버가아닌 elastic으로 보내는거예요⁉️Elastic Search는 왜 RESTful한 API일까요?
RestAPI가 단순히 자원을 url로 표현하고, 그 자원을 HTTP요청을 통해 웹서비스와 연결하는 것입니다.우리가 쓰는 GET POST PUT DELETE가 HTTP 메서드예요.요청-응답 구조로 소통하기때문에 elastic에서도 똑같이 운영된다...입니다.우리가 index구조를 연결하는 거 아시죠 GET /myIndex/Search 같은 명령어로 인덱스를 추가합니다이 GET자체가 restful한 http명령이라고 볼 수 있어요.그리고 elasticssearch자체가 분산 검색 엔진이기때문에...다양한 언어에서 접근 가능하고, 클러스트 환경에서 노드수가 유동적이어야하고클라이언트와 서버간의 연결이 느슨해야해요. 이걸 제일 잘 만족하는게 HTTP REst라고 합니다⁉️Rest의 제약 6가지 및 Elastic적용
RestFullAPI에는 여섯가지 제약이있어요client server architecture / statessness / cacheability / layered system / code on demand / uniform interface입니다.client server archtecture는 클라이언트와 서버는 역할이 분리되는거예요. 서버는 인덱싱, 검색, 집계같은 로직을 잘 담당해야하고, 클라이언트는 UI및 비즈니스로직을 담당해야해요. 클라이언트는 서버의 샤드가 몇개인지...어떤 ㄴ드에 데이터가 있는지 전혀몰라도돼요. 각각의 역할이 있다해서 아키텍처라고 붋니다.
statessness는 무상태성입니다.
서버는 요청을 저장하지 않아요. 그리고 모두 독립적으로 진행되어야하기 때문에, 이전 요청 정보를 기억하지 않아서
세션개념이 없어요. 덕분에 여러개의 수평확장이 쉽습니다.
cacheability는 응답은 캐시 가능 여부를 명시해야해요.
쿼리 캐시랑 리퀘스트 캐쉬를 내부적으로 운용해요
layered system은 클라이언트는 중간 계층 존재 여부를 몰라요. 엘라스틱 구조는
Client
↓
Load Balancer
↓
Coordinating Node
↓
Data Node인데, 이것도 클라이언트 서버 아키텍처 처럼 이 내부과정을 모른다는겁니다.code on demand 는 선택사항입니다.서버가 실행 가능한 코드를 클라이언트로 전송하는건데... 키바나 일부에서만 간접적으로 활용하고 거의 사용하지 않아도 된다고합니다.uniform interface는 모든 자원을 url로 표현합니다./index
/index/_doc/1
/index/_search와같은 형식으로 url로 표현하는거예요
그리고 POST는 생성이 아니고 검색에 활용된다는 점이 좀 다르네요
728x90'FISA' 카테고리의 다른 글
[회고]3주차_우리FISA클라우드 엔지니어링 (0) 2026.01.18 [STUDY18] Filebeat → Logstash → ES + RDBMS 실습 (0) 2026.01.16 [STUDY13] 01.12수업 내용 총정리 (1) 2026.01.12 [STUDY12] DAO에 관하여 (0) 2026.01.12 [회고]2주차_우리FISA 클라우드 엔지니어링 (2) 2026.01.10