首页 >web前端 >js教程 >使用Deno,Ren​​o和Postgresql构建微服务

使用Deno,Ren​​o和Postgresql构建微服务

Joseph Gordon-Levitt
Joseph Gordon-Levitt原创
2025-02-10 11:36:11923浏览

>本教程演示了使用轻巧的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

<code class="language-typescript">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!" });
});</code>
改进复杂服务:

> deno run --allow-net server.ts基本服务器受到限制。 让我们对其进行增强以处理一个--allow-net>端点(获取检索,发布消息)。 我们将添加有关URL和HTTP方法的有条件检查。

RERO用于路线管理:std/http>

对于多个终点,手动管理路线变得笨拙。里诺简化了这一点。 让我们使用Reno重建我们的消息服务:

std/http RENO处理路径解析和HTTP方法管理,允许专注于应用程序逻辑。 这是一个路由器 - 功能,很容易集成到现有的DENO服务中。 /messages

构建博客微服务:

> >我们将使用PostgreSQL使用

模块来构建博客文章微服务。

端点将支持Get(所有帖子,单个帖子by ID),帖子(创建帖子)和补丁程序(更新帖子)。 (对于简洁而言,省略了本节的详细代码,但在原始文本中可用。)

>
<code class="language-typescript">// ... (imports, including Reno) ...

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

const router = createRouter(routes);

// ... (server setup using the router) ...</messagepayload></code>

错误处理:

>自定义错误类改善错误处理。 例如,可以创建APostNotFoundError类来处理丢失的帖子,返回404而不是通用错误。

>

摘要:

std/http

对于简单服务而言,Reno可以通过简化路线管理和错误处理来显着改善微服务的开发。 对于较大的项目,可能会优选橡树之类的框架,但是里诺的轻量级性质对于许多微服务都是理想的选择。>

以上是使用Deno,Ren​​o和Postgresql构建微服务的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn