ホームページ > 記事 > ウェブフロントエンド > Nodejs中間層の設定方法
インターネットの急速な発展に伴い、Web アプリケーションはますます複雑かつ大規模になってきています。したがって、Web アプリケーションの保守性とスケーラビリティを向上させるために、多くの Web 開発者は中間層アーキテクチャ パターンを採用しています。 Node.js 中間層は、効率的な I/O 操作パフォーマンスを備え、イベント駆動型プログラミングを簡単に実装できるため、一般的な中間層実装です。
この記事では、Node.js で単純な中間層を構築し、いくつかの一般的な関数を実装する方法を紹介します。
1. 中間層とは
中間層はクライアントとサーバーの間の層を指し、その主な機能はクライアントのリクエストを処理し、サーバーにリクエストを送信することです。 Web アプリケーションでは、複雑なビジネス ロジックをより適切に処理するために、さまざまなサービスを 1 つのアプリケーションに統合するために中間層がよく使用されます。さらに、中間層を使用して、キャッシュ、認証、認可などの機能を実装することもできます。
2. Node.js 中間層の実装
Node.js では、中間層を実装する主な方法が 2 つあります: WebSocket プロトコルに基づくソケット中間層と HTTP に基づく HTTP 中間層です。プロトコル層。このうち、HTTP 中間層は、Web 標準と互換性があり、実装と保守が容易なため、最もよく使用される方式です。
次は、リクエストの転送、リクエストのキャッシュ、リクエストのログ記録などの機能を実装する簡単な 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. 概要
中間層は、Web アプリケーション アーキテクチャ パターンの一種であり、その主な機能は、複雑なビジネスをより適切に処理するために、さまざまなサービスを 1 つのアプリケーションに統合することです。 Node.js では、HTTP または WebSocket プロトコルを通じて中間層を実装できます。 HTTP プロトコルは Web 標準と互換性があり、実装と保守が簡単であるため、最も一般的な中間層の実装方法です。
Node.js 中間層を構築する場合、Node.js の効率的な I/O 操作パフォーマンスとイベント駆動型プログラミング特性を使用して、リクエストの転送、リクエストのキャッシュ、リクエストなどのいくつかの一般的な機能を実装できます。ロギングなどさらに、Node.js 中間層は、リクエストの認証、認可、電流制限、融合などの他の多くの機能を実装して、Web アプリケーションの保守性と拡張性を向上させることもできます。
以上がNodejs中間層の設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。