Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

서버리스 클라우드에서 Next.js와 Upstash Redis 시작하기

Serverless Cloud는 Serverless Framework를 개발한 팀이 선보이는 백엔드 플랫폼입니다. 클라우드 런타임, CLI, SDK를 하나의 플랫폼에서 통합 제공하여 개발자 생산성을 크게 높여주는 것이 특징입니다. 이 글에서는 Upstash Redis(서버리스 Redis)에서 데이터를 조회하는 Next.js 애플리케이션을 만들고, 이를 Serverless Cloud에 배포하는 과정을 단계별로 살펴보겠습니다.

환경 설정

먼저 다음 명령어를 실행해 Serverless Cloud 프로젝트를 초기화합니다.

npm init cloud
? Do you want to create a new app or work on an existing one?
ℹ You've selected Create new app.
ℹ Please choose an app template to generate in this directory.
ℹ You've selected Next.js.
ℹ Please enter a name for your app.
ℹ You've entered serverless-cloud.

템플릿 선택 단계에서 Next.js를 고르면 해당 디렉터리에 새로운 Next.js 프로젝트가 자동으로 생성됩니다.

다음으로 프로젝트 폴더에서 Upstash Redis 클라이언트를 설치합니다.

npm install @upstash/redis

Upstash 콘솔에 접속해 Redis 데이터베이스를 생성한 뒤, CLI를 통해 아래와 같이 users 데이터를 입력합니다.

set users '[{ "id": "12", "name": "John Doe"}, { "id": "13", "name": "Jane Smith"}]'

서버리스 클라우드에서 Next.js와 Upstash Redis 시작하기

이제 API 라우트 파일인 user.js를 아래와 같이 작성하고, 코드 안의 REST URL과 토큰 값을 Upstash 콘솔에서 발급받은 실제 값으로 교체합니다.

user.js

// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
import { Redis } from "@upstash/redis";

const redis = new Redis({
  url: "REPLACE_HERE",
  token: "REPLACE_HERE",
});

export default async function handler(req, res) {
  const data = await redis.get("users");
  res.status(200).json({ users: data });
}

테스트 및 배포

Serverless Cloud의 인터랙티브 CLI에서 dev 명령어를 실행합니다. 그런 다음 브라우저에서 https://localhost:3000/ 에 접속하면 아래와 같은 화면을 확인할 수 있습니다.

서버리스 클라우드에서 Next.js와 Upstash Redis 시작하기

앞서 Redis에 저장했던 사용자 목록이 정상적으로 출력되는 것을 볼 수 있습니다.

애플리케이션을 클라우드에 배포하려면 인터랙티브 CLI에서 deploy dev 명령어를 실행하면 됩니다. 배포 후에는 Serverless Cloud 대시보드에서 각종 지표(metrics)와 애플리케이션 로그를 실시간으로 모니터링할 수 있습니다.

서버리스 클라우드에서 Next.js와 Upstash Redis 시작하기

마무리

이번 글에서는 Serverless Cloud 위에 Next.js 애플리케이션을 구축하고, 데이터 저장소로 Upstash Redis를 연동하는 전체 과정을 살펴보았습니다. 서버리스 환경에서는 HTTP 기반 REST API로 접근하는 Upstash Redis가 특히 잘 어울립니다. 기존 Redis 클라이언트처럼 TCP 연결을 상시 유지할 필요 없이 요청 단위로 호출할 수 있어, 함수가 필요할 때만 실행되는 서버리스 아키텍처와 자연스럽게 조화를 이루기 때문입니다.

최신 소식과 더 많은 팁은 Discord와 Twitter에서 팔로우하며 확인하실 수 있습니다.