# Fastify란?
Fast and low overhead web framework, for Node.js
Node.js를 위한 빠르면서도 오버헤드가 적은 웹 프레임워크이다.
효율적인 서버는 낮은 비용으로 높은 응답성을 보여 사용자 경험을 향상시켜야 한다. 이를 위해서는 보안성을 유지하고 개발자의 개발에 불편함을 주지 않으면서도 수많은 사용자들의 요청을 효과적으로 처리해줄 필요가 있다.
fastify는 최소한의 오버헤드와 강력한 플러그인 아키텍처로 최고의 개발 경험을 제공하는데에 초점을 맞춘 웹 프레임워크이다.Hapi와 Express를 참고해 개발되었으며 이름처럼 현재 가장 빠른 웹 프레임워크 중 하나
# 시작하기
npm install fastify
# 기본 사용
// Require the framework and instantiate it
const fastify = require('fastify')() // Declare a route
fastify.get('/', async (request, reply) => {
return { hello: 'world' }
}) // Run the server!
const start = async () => {
try {
await fastify.listen(3000)
fastify.log.info(`server listening on ${fastify.server.address().port}`)
} catch (err) {
fastify.log.error(err)
process.exit(1)
}
}
start()
# 핵심 장점
fastify가 설계된 핵심 기능과 원리는 다음과 같다.
1. High performant: fastify는 초당 최대 3만건의 요청을 처리할 수 있는 가장 빠른 웹 프레임워크 중 하나이다.
2. Extendible(확장성): fastify는 hooks, plugins, decorators를 활용해 완전히 확장이 가능하다.
3. Schema based: 필수는 아니지만 fastify는 JSON schema를 사용하여 경로를 검사하고 출력을 직렬화 하기를 추천한다. fastify는 고성능 function 내의 schema를 컴파일한다.
4. Logging: 로그는 매우 중요하지만 비용이 크다. fastify는 이 비용을 없애기 위해 Pino logger를 선택했다.
5. Developer friendly: fastify는 개발자들에게 보안 문제의 희생 없이 다양한 표현이 가능하고 일상적으로 사용하는데 도움이 되도록 제작되었다.
# 출처
- https://benjaminwoojang.medium.com/node-js-framework-fastify-75fdf0aada58#:~:text=fastify%EB%8A%94%20%EC%B5%9C%EC%86%8C%ED%95%9C%EC%9D%98%20%EC%98%A4%EB%B2%84,%EC%9B%B9%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%20%EC%A4%91%20%ED%95%98%EB%82%98%EC%9D%B4%EB%8B%A4.
'[DEV] App Dev ∕ Web Back > ETC' 카테고리의 다른 글
[Node.js] nvm이란? Node Version Manager (0) | 2021.07.05 |
---|---|
[vue.js/react] HTTP 통신 라이브러리 : axios (0) | 2020.12.02 |
[npm] NestCloud란? (0) | 2020.11.23 |
[npm] Apollo란? (0) | 2020.11.23 |
[라이브러리]ts-node : Node 상에서, 독립적으로 .ts 파일 실행 (0) | 2020.10.12 |
최근댓글