인터넷의 급속한 발전으로 인해 웹 애플리케이션은 점점 더 복잡해지고 커지고 있습니다. 따라서 웹 애플리케이션의 유지 관리성과 확장성을 향상시키기 위해 많은 웹 개발자는 중간 계층 아키텍처 패턴을 채택합니다. Node.js 미들 레이어는 Node.js가 효율적인 I/O 작업 성능을 가질 뿐만 아니라 이벤트 기반 프로그래밍을 쉽게 구현할 수 있기 때문에 일반적인 중간 레이어 구현 방법입니다.
이 글에서는 Node.js에서 간단한 중간 계층을 구축하고 몇 가지 일반적인 기능을 구현하는 방법을 소개합니다.
1. 중간 계층이란 무엇인가요?
중간 계층은 클라이언트와 서버 사이의 계층을 말하며, 주요 기능은 클라이언트 요청을 서버에 보내는 것입니다. 웹 애플리케이션에서 중간 계층은 복잡한 비즈니스 로직을 더 잘 처리하기 위해 다양한 서비스를 하나의 애플리케이션으로 통합하는 데 종종 사용됩니다. 또한 중간 계층을 사용하여 캐싱, 인증, 권한 부여와 같은 기능을 구현할 수도 있습니다.
2. Node.js 중간 계층 구현
Node.js에는 중간 계층을 구현하는 방법이 크게 두 가지가 있습니다. WebSocket 프로토콜을 기반으로 하는 소켓 중간 계층과 HTTP 프로토콜을 기반으로 하는 HTTP 중간 계층입니다. 그 중 HTTP 중간 계층은 웹 표준과 호환되고 구현 및 유지 관리가 용이하기 때문에 가장 일반적으로 사용되는 방법입니다.
다음은 요청 전달, 요청 캐싱, 요청 로깅과 같은 기능을 구현하는 간단한 Node.js 중간 계층 예제입니다.
const http = require('http'); const request = require('request'); const url = require('url'); http.createServer((req, res) => { // 解析前端请求的url const urlObject = url.parse(req.url); // 配置中间层请求的选项参数 const options = { url: 'http://backend-service' + urlObject.path, headers: req.headers }; // 处理GET请求的缓存功能 if (req.method === 'GET') { // 检查缓存中是否有数据 const cacheData = cache.get(options.url); if (cacheData) { res.writeHead(200, cacheData.headers); res.end(cacheData.body); console.log('cache hit: ' + options.url); return; } } // 请求发送到后端服务 console.log('forwarding request: ' + options.url); const proxyRequest = request(options); // 处理GET请求的缓存功能 if (req.method === 'GET') { // 将响应数据缓存到cache中 proxyRequest.on('response', (response) => { cache.set(options.url, response, response.headers['cache-control']); }); } // 将请求响应返回给前端 req.pipe(proxyRequest).pipe(res); // 请求日志记录 console.log(req.method + ' ' + req.url + ' ' + res.statusCode); }).listen(8080);
위 코드에서는 Node.js에 내장된 http 모듈을 사용하여 HTTP 서버. 요청이 서버에 도달한 후 먼저 프런트 엔드에서 요청한 URL을 구문 분석하고 URL 주소에 따라 요청을 백엔드 서비스(여기서 기본값은 backend-service)로 전달합니다. 요청을 백엔드 서비스로 전달하기 전에 요청에 대한 일부 처리도 수행했습니다.
또한 Node.js 중간 계층은 요청 인증, 권한 부여, 전류 제한, 회로 차단기 등과 같은 다른 많은 기능도 구현할 수 있습니다.
3. 요약
웹 애플리케이션 아키텍처 패턴의 일종으로 중간 계층의 주요 기능은 다양한 서비스를 하나의 애플리케이션에 통합하여 복잡한 비즈니스 로직을 더 잘 처리하는 것입니다. Node.js에서는 HTTP 또는 WebSocket 프로토콜을 통해 중간 계층을 구현할 수 있습니다. HTTP 프로토콜은 웹 표준과 호환되고 구현 및 유지 관리가 쉽기 때문에 가장 일반적인 중간 계층 구현 방법입니다.
Node.js 중간 계층을 구축할 때 Node.js의 효율적인 I/O 작업 성능과 이벤트 기반 프로그래밍 기능을 활용하여 요청 전달, 요청 캐싱, 요청 로깅과 같은 몇 가지 공통 기능을 구현할 수 있습니다. . 또한 Node.js 중간 계층은 요청 인증, 권한 부여, 전류 제한 및 융합 등과 같은 다른 많은 기능을 구현하여 웹 애플리케이션의 유지 관리 및 확장성을 향상시킬 수도 있습니다.
위 내용은 nodejs 중간 계층을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!