Rumah >hujung hadapan web >tutorial js >Membina Microservices dengan Deno, Reno, dan PostgreSQL

Membina Microservices dengan Deno, Reno, dan PostgreSQL

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-10 11:36:11934semak imbas

Tutorial ini menunjukkan bangunan microservices dengan Deno dan Reno, perpustakaan penghalaan Deno yang ringan. Kami akan membuat microservice berinteraksi dengan pangkalan data.

Building Microservices with Deno, Reno, and PostgreSQL

Deno, runtime JavaScript/typescript yang selamat, meningkatkan node.js dengan memudahkan pengurusan modul dan menyelaraskan API dengan piawaian penyemak imbas. Walaupun asasnya berbeza, potensi aplikasi mereka sebahagian besarnya bertindih. Node.js cemerlang di Perkhidmatan HTTP, Saham Kekuatan Deno.

Konsep Utama:

    persekitaran selamat Deno dan API yang diselaraskan penyemak imbas sesuai untuk perkhidmatan HTTP.
  • modul Deno
  • membolehkan penciptaan pelayan HTTP mudah dan penghalaan asas. std/http
  • Reno menyelaraskan pengisytiharan laluan dan pengurusan kaedah HTTP, meningkatkan organisasi kod.
  • Integrasi PostgreSQL melalui
  • memudahkan operasi pangkalan data yang mantap. deno-postgres
  • kelas ralat tersuai meningkatkan kejelasan pengendalian ralat dalam komunikasi pelanggan-pelayan.
  • Deno, Reno, dan PostgreSQL menggabungkan untuk pembangunan microservice yang berskala dan cekap.

pelayan http sederhana dengan : std/http

Sebelum memperkenalkan Reno, mari kita membina pelayan HTTP asas menggunakan perpustakaan standard Deno. Pasang deno (mis.,

pada sistem seperti Unix). Kemas kini ke versi 1.3.0 atau lebih baru jika perlu (). Sahkan pemasangan dengan curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.3.0. deno upgrade --version 1.3.0 deno --version Buat

:

server.ts

Jalankan dengan
<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>
. Bendera Bendera memberi akses rangkaian.

deno run --allow-net server.ts --allow-net Meningkatkan

untuk perkhidmatan kompleks:

std/http Pelayan Asas adalah terhad. Mari kita tingkatkannya untuk mengendalikan titik akhir

(dapatkan untuk mendapatkan semula, pos untuk menambah mesej). Kami akan menambah cek bersyarat untuk kaedah URL dan HTTP.

std/http /messages Reno untuk Pengurusan Laluan:

Untuk pelbagai titik akhir, laluan pengurusan secara manual menjadi rumit. Reno memudahkan ini. Mari membina semula perkhidmatan mesej kami menggunakan Reno:

Reno mengendalikan parsing laluan dan pengurusan kaedah HTTP, yang membolehkan fokus pada logik aplikasi. Ia adalah penghala-sebagai-a-fungsi, mudah diintegrasikan ke dalam perkhidmatan Deno yang sedia ada.

<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>

Membina blog microservice:

Kami akan membina blog post microservice dengan PostgreSQL menggunakan modul . Titik akhir

akan menyokong GET (semua jawatan, jawatan tunggal oleh id), pos (buat pos), dan patch (Post Update). (Kod terperinci untuk bahagian ini ditinggalkan untuk keringkasan tetapi boleh didapati dalam teks asal.)

deno-postgres /posts Pengendalian ralat:

kelas ralat tersuai meningkatkan pengendalian ralat. Sebagai contoh, kelas PostNotFoundError boleh diwujudkan untuk mengendalikan jawatan yang hilang, mengembalikan 404 dan bukannya ralat generik.

Ringkasan:

manakala std/http cukup untuk perkhidmatan mudah, Reno meningkatkan perkembangan mikroservis dengan memudahkan pengurusan laluan dan pengendalian ralat. Untuk projek yang lebih besar, rangka kerja seperti oak mungkin lebih disukai, tetapi sifat ringan Reno sangat sesuai untuk banyak microservices.

Atas ialah kandungan terperinci Membina Microservices dengan Deno, Reno, dan PostgreSQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn