최신 업데이트:2024-09-03 15:10:10
이 가이드에서는 CDNetworks 에지 클라우드 앱 함수 컴퓨팅 플랫폼에서 서버리스 함수를 생성하는 방법을 안내합니다.
서버리스 아키텍처에서 함수는 특정 작업 또는 로직을 수행하도록 설계된 자체 포함된 코드 블록입니다. HTTP 요청, 데이터베이스 작업, 메시지 큐 또는 파일 업로드와 같은 이벤트에 의해 트리거됩니다. 서버리스 플랫폼은 다양한 트래픽 요구 사항을 처리하기 위해 이러한 함수를 자동으로 확장합니다. 각 함수 실행은 독립적이고 상태 비저장 방식으로, 이전 호출의 상태를 유지하지 않습니다. 영구 데이터 스토리지의 경우 데이터베이스 또는 객체 스토리지와 같은 외부 서비스를 사용해야 합니다.
함수는 서버리스 아키텍처의 핵심 구성 요소입니다. 개발자는 함수 코드를 작성하고 서버리스 플랫폼에 배포합니다. 서버리스 플랫폼은 함수의 실행, 확장 및 리소스 할당을 처리합니다. 이러한 접근 방식을 종종 “서버리스 함수” 또는 “Function-as-a-Service”(FaaS)라고 합니다. 기존 서버 아키텍처와 달리 서버리스 아키텍처를 사용하면 개발자가 기본 서버 및 인프라를 관리하지 않고도 비즈니스 로직 작성에 집중할 수 있습니다.
V8 엔진을 기반으로 구축된 에지 클라우드 앱 함수 컴퓨팅은 밀리초 수준의 콜드 스타트와 리소스 격리를 갖춘 경량의 고성능 서버리스 런타임 환경을 제공합니다. 높은 동시성 시나리오에서 함수 코드의 실행 효율성을 크게 높이기 위해 런타임 컨텍스트 전환을 최적화했습니다. V8 기술의 초저 지연 콜드 스타트 기능을 활용하여 요청 시 함수를 빠르게 로드하고 서로 간섭 없이 서로 다른 기능 간에 빠르게 전환할 수 있습니다.
서버리스 함수를 생성하기 전에 CDNetworks 플랫폼에서 유효하고 구성된 CDN 가속 도메인이 있는지 확인하세요.
image-resizer
또는 user-auth
.템플릿 사용: 플랫폼은 다양한 일반적인 기능을 다루는 다양한 사전 구축된 함수 템플릿을 제공합니다. 이러한 템플릿을 사용하면 처음부터 코드를 작성하지 않고도 새 함수 콘텐츠를 빠르게 빌드할 수 있습니다. 스트림 M3u8 재작성, 웹 링크 재작성 및 집계된 요청 및 응답과 같은 기능에 대한 함수를 빠르게 생성할 수 있습니다. 각 템플릿에는 사용법을 이해하는 데 도움이 되는 자세한 지침이 제공됩니다. 함수를 생성할 템플릿을 선택하면 CloudIDE 인터페이스에 해당 샘플 코드가 표시됩니다. 템플릿 라이브러리는 지속적으로 업데이트 및 확장되며 새로운 템플릿이 개발 중입니다.
템플릿 없음: 더 사용자 지정된 함수를 생성해야 하거나 처음부터 함수를 빌드하려는 경우 "템플릿 없음"으로 함수를 생성하도록 선택할 수 있습니다. 그러면 코드를 자유롭게 작성할 수 있는 빈 CloudIDE 인터페이스로 이동합니다.
함수를 생성하면 페이지가 자동으로 CloudIDE 인터페이스로 리디렉션됩니다. CloudIDE 내에서 코드를 자유롭게 작성, 편집 및 디버깅할 수 있습니다. CloudIDE는 Visual Studio Code와 유사하게 간소화된 코딩 환경을 위해 구문 강조 표시, 자동 완성 및 오류 프롬프트와 같은 기능을 제공합니다. CloudIDE에 대한 자세한 내용은 CloudIDE 문서를 참조하세요.
참고
각 함수에는 복잡한 함수 로직을 더 잘 구성하고 관리하기 위해 여러 JavaScript 파일이 포함될 수 있습니다. 그러나 각 함수에는 진입점으로index.js
파일이 포함되어야 합니다. 함수가 트리거되면 플랫폼은index.js
파일에서 코드를 실행하기 시작합니다.
CloudIDE에서 코드를 작성한 후 기본 제공 테스트 도구를 사용하여 함수를 테스트할 수 있습니다.
/example
경로를 테스트하려면 http://dev.wsls.haplat.net:8123/cloudide/staging/test/xxxxxxxxxx/example
과 같은 주소를 입력합니다. 이 URI에 해당하는 리소스가 실제로 존재하고 테스트 도메인에서 유효한지 확인하세요.
함수 작성 및 테스트를 완료하면 프로덕션 환경에 배포할 수 있습니다. 에지 클라우드 앱 플랫폼은 안전하고 안정적인 배포 프로세스를 보장하기 위해 그레이스케일 배포를 지원합니다. 함수 배포에 대한 자세한 내용은 함수 배포 문서를 참조하세요.