Rumah >hujung hadapan web >tutorial js >Membina Microservices dengan Deno, Reno, dan PostgreSQL
Tutorial ini menunjukkan bangunan microservices dengan Deno dan Reno, perpustakaan penghalaan Deno yang ringan. Kami akan membuat microservice berinteraksi dengan pangkalan data.
Konsep Utama:
std/http
deno-postgres
pelayan http sederhana dengan : std/http
pada sistem seperti Unix). Kemas kini ke versi 1.3.0 atau lebih baru jika perlu (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
<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
std/http
Pelayan Asas adalah terhad. Mari kita tingkatkannya untuk mengendalikan titik akhir
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!