首頁 > web前端 > js教程 > 使用Deno,Ren​​o和Postgresql構建微服務

使用Deno,Ren​​o和Postgresql構建微服務

Joseph Gordon-Levitt
發布: 2025-02-10 11:36:11
原創
938 人瀏覽過

>本教程演示了使用輕巧的DENO路由庫Deno和Reno建立微服務。我們將與數據庫創建微服務交互。

>

Building Microservices with Deno, Reno, and PostgreSQL

Secure JavaScript/TypeScript運行時 deno通過簡化模塊管理和用瀏覽器標準對齊API來改進Node.js。 儘管從根本上有所不同,但其應用潛在的潛在重疊。 Node.js在HTTP Services上脫穎而出

密鑰概念:

> DENO的安全環境和瀏覽器一致的API是HTTP服務的理想選擇。
    > deno's
  • 模塊啟用簡單的HTTP服務器創建和基本路由。
  • > RENO簡化路線聲明和HTTP方法管理,改進代碼組織。 std/http> postgresql通過
  • >促進魯棒數據庫操作。
  • 自定義錯誤類增強客戶服務器通信中的錯誤處理清晰度。
  • deno,Ren​​o和PostgreSQL結合了可擴展,有效的微服務開發。 deno-postgres
  • 的簡單http服務器:
>在介紹Reno之前,讓我們使用Deno的標準庫構建基本的HTTP服務器。 安裝DENO(例如,在Unix樣系統上

)。 如有必要,更新到版本1.3.0或更高版本()。用std/http>。 驗證安裝

創建

curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.3.0 deno upgrade --version 1.3.0 deno --version>使用

運行。

flag授予網絡訪問。 server.ts

import { listenAndServe } from "https://deno.land/std@0.65.0/http/mod.ts";

const BINDING = ":8000";

console.log(`Listening on ${BINDING}...`);

await listenAndServe(BINDING, (req) => {
  req.respond({ body: "Hello world!" });
});
登入後複製
改進複雜服務:

> deno run --allow-net server.ts基本服務器受到限制。 讓我們對其進行增強以處理一個--allow-net>端點(獲取檢索,發布消息)。 我們將添加有關URL和HTTP方法的有條件檢查。

RERO用於路線管理:std/http>

對於多個終點,手動管理路線變得笨拙。里諾簡化了這一點。 讓我們使用Reno重建我們的消息服務:

std/http RENO處理路徑解析和HTTP方法管理,允許專注於應用程序邏輯。 這是一個路由器 - 功能,很容易集成到現有的DENO服務中。 /messages

構建博客微服務:

> >我們將使用PostgreSQL使用

模塊來構建博客文章微服務。

端點將支持Get(所有帖子,單個帖子by ID),帖子(創建帖子)和補丁程序(更新帖子)。 (對於簡潔而言,省略了本節的詳細代碼,但在原始文本中可用。)

>
// ... (imports, including Reno) ...

const routes = createRouteMap([
  [
    "/messages",
    forMethod([
      ["GET", getMessages],
      ["POST", withJsonBody<MessagePayload>(addMessage)],
    ]),
  ],
]);

const router = createRouter(routes);

// ... (server setup using the router) ...
登入後複製

錯誤處理:

>自定義錯誤類改善錯誤處理。 例如,可以創建APostNotFoundError類來處理丟失的帖子,返回404而不是通用錯誤。

>

摘要:

std/http

對於簡單服務而言,Reno可以通過簡化路線管理和錯誤處理來顯著改善微服務的開發。 對於較大的項目,可能會優選橡樹之類的框架,但是里諾的輕量級性質對於許多微服務都是理想的選擇。 >

以上是使用Deno,Ren​​o和Postgresql構建微服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板