반응형
ESI(Edge Side Includes)
- ESI는 HTTP 클라이언트에서 리소스를 통합할 수 있는 수단을 제공하는 XML 기반 마크업 언어임.
- ESI를 사용하면 웹 애플리케이션이 다른 웹 애플리케이션의 HTML 일부를 통합할 수 있음.
- 이를 위해 웹 애플리케이션은 ESI 태그를 포함한 HTML을 전송함.
- ESI 구현체는 ESI 태그를 분석, 다른 웹 애플리케이션의 HTML일부분을 올바른 위치에 두고 통합함.
- 참고페이지 : https://www.w3.org/TR/esi-lang
- ESI 구문 예시
ESI의 구현체란?
- 웹 사이트는 해당 캐싱을 사용해 들어오는 요청을 바탕으로 캐싱해서 웹 페이지를 전달함.
- 웹 캐싱 서버를 ESI 구현체로 사용할 수 있음.
- 웹 애플리케이션은 캐싱 실패에 대한 요청을 처리하면 됨.
- 즉, 웹사이트의 속도가 상대적으로 빨라지고, 웹서버의 부하가 그만큼 줄어들게 됨.
- ESI 구현체로 사용할 수 있는 웹 캐싱 서버 종류
- ex1) 바니시
- 참고페이지 : https://varnish-cache.org
- ex2) Squid
- 참고페이지 : http://www.squid-cache.org
- ex1) 바니시
SCS ESI 샘플
- 참고페이지 : https://github.com/ewolff/SCS-ESI
- 다운로드 : git clone https://github.com/ewolff/SCS-ESI.git
- 설치 절차와 예시를 시작하는 방법
바니시란?
- 바니시는 주로 웹 서버를 최적화하는데 사용됨.
- 웹서버로 인입되는 HTTP 요청을 차단하고, 응답을 캐싱하고 캐싱이 없는 요청만 웹 서버로 전달함.
- 라이선스
결론
- ESI는 프론트엔드를 통합할 수 있는 구현. 낮은 결합도를 유도함.
- 애플리케이션은 ESI태그를 제외하고 인프라에 대한 의존성 없는 간단한 웹 애플리케이션임.
- ESI와의 통합은 웹 페이지가 캐싱에 의해 완벽하게 조립되고, 브라우저에서 직접 표시될 수 있다는 장점.
- 단, 캐싱을 사용하면 웹페이지를 계속 사용할 수 있지만, 잠재적으로 잘못된 정보를 리턴할 수 도 있다는 단점이 있음.
- 또한 캐싱을 사용하려면, 서비스 가용성도 꼭 확인해야함.
728x90
300x250
'좋아하는 것_매직IT > 10.microservice' 카테고리의 다른 글
10.마이크로서비스, 메시지 지향 미들웨어(MOM)란? (0) | 2021.01.12 |
---|---|
9.마이크로서비스, 비동기 통신이란? (0) | 2021.01.12 |
7.마이크로서비스, 자원지향클라이언트 아키텍처란 무엇일까? (0) | 2021.01.12 |
6.마이크로서비스, 독립시스템(SCS, self-contained system) 은 무엇일까? (0) | 2021.01.12 |
5. 마이크로서비스, 왜 가벼울까? (0) | 2021.01.12 |