国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Apache Dubbo 首個(gè) Node.js 3.0-alpha 版本正式發(fā)布

這篇具有很好參考價(jià)值的文章主要介紹了Apache Dubbo 首個(gè) Node.js 3.0-alpha 版本正式發(fā)布。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

關(guān)于Apache Dubbo3

Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同時(shí)為構(gòu)建企業(yè)級(jí)微服務(wù)提供服務(wù)發(fā)現(xiàn)、流量治理、可觀測(cè)、認(rèn)證鑒權(quán)等能力、工具與最佳實(shí)踐。經(jīng)過近幾年發(fā)展,Dubbo3 已在阿里巴巴集團(tuán)各條業(yè)務(wù)線實(shí)現(xiàn)全面推廣,成功取代運(yùn)行多年的 HSF 框架,同時(shí) Dubbo3 的多語言體系也有了快速發(fā)展,目前涵蓋的多語言體系有

  • apache/dubbo[1]?(java)
  • apache/dubbo-go[2]
  • apache/dubbo-js[3]?(web、node.js)
  • apache/dubbo-rust[4]

基于 Dubbo3 定義的 Triple 協(xié)議,你可以輕松編寫瀏覽器、移動(dòng)端、gRPC 兼容的 RPC 服務(wù),并讓這些服務(wù)同時(shí)運(yùn)行在 HTTP/1 和 HTTP/2 上。Dubbo Node.js SDK 支持使用 IDL 或編程語言特有的方式定義服務(wù),并提供一套輕量的 API 來發(fā)布或調(diào)用這些服務(wù)。

Apache Dubbo 首個(gè) Node.js 3.0-alpha 版本正式發(fā)布,云棲號(hào)技術(shù)分享,apache,dubbo,node.js,云計(jì)算,阿里云,云原生

關(guān)于 Dubbo3 Node.js 首個(gè)發(fā)布版

Dubbo-js 項(xiàng)目于 9 月份剛剛發(fā)布了支持 Dubbo3 協(xié)議的首個(gè) alpha 版本,該項(xiàng)目是 Dubbo3 的 Typescript 版本實(shí)現(xiàn),提供了 Web、Node.js 兩種發(fā)布包。其中,Web 框架能讓開發(fā)者直接在瀏覽器頁面訪問后端服務(wù),Node.js 則進(jìn)一步豐富了后端微服務(wù)技術(shù)棧的選擇。當(dāng)前 Node.js 版本主要是實(shí)現(xiàn)了 Triple 協(xié)議的完整支持,接下來的版本中,社區(qū)將繼續(xù)完善地址發(fā)現(xiàn)、負(fù)載均衡等服務(wù)治理能力。

Node.js 微服務(wù)開發(fā)完整示例

本示例基于最新發(fā)布的 Node.js 版本,演示了基于 Triple 協(xié)議的 RPC 通信模式,示例使用 Protocol Buffer 定義 RPC 服務(wù),并演示了代碼生成、服務(wù)發(fā)布和服務(wù)訪問等過程。

前置條件

因?yàn)槭褂?Protocol Buffer 的原因,我們首先需要安裝相關(guān)的代碼生成工具,這包括 @bufbuild/protoc-gen-es、@bufbuild/protobuf、@apachedubbo/protoc-gen-apache-dubbo-es、@apachedubbo/dubbo。

npm install @bufbuild/protoc-gen-es @bufbuild/protobuf @apachedubbo/protoc-gen-apache-dubbo-es @apachedubbo/dubbo

定義服務(wù)

現(xiàn)在,使用 Protocol Buffer (IDL) 來定義一個(gè) Dubbo 服務(wù)。

創(chuàng)建目錄,并生成文件:

mkdir -p proto && touch proto/example.proto

寫入內(nèi)容:

syntax = "proto3";

package apache.dubbo.demo.example.v1;

message SayRequest {
  string sentence = 1;
}

message SayResponse {
  string sentence = 1;
}

service ExampleService {
  rpc Say(SayRequest) returns (SayResponse) {}
}

這個(gè)文件聲明了一個(gè)叫做 ExampleService 的服務(wù),為這個(gè)服務(wù)定義了 Say 方法以及它的請(qǐng)求參數(shù) SayRequest 和返回值 SayResponse。

生成代碼

創(chuàng)建 gen 目錄,做為生成文件放置的目標(biāo)目錄。

mkdir -p gen

運(yùn)行以下命令,在 gen 目錄下生成代碼文件:

PATH=$PATH:$(pwd)/node_modules/.bin \
  protoc -I proto \
  --es_out gen \
  --es_opt target=ts \
  --apache-dubbo-es_out gen \
  --apache-dubbo-es_opt target=ts \
  example.proto

運(yùn)行命令后,應(yīng)該可以在目標(biāo)目錄中看到以下生成的文件:

├── gen
│   ├── example_dubbo.ts
│   └── example_pb.ts
├── proto
│   └── example.proto

實(shí)現(xiàn)服務(wù)

接下來我們就需要添加業(yè)務(wù)邏輯了,實(shí)現(xiàn) ExampleService ,并將其注冊(cè)到 DubboRouter 中。

創(chuàng)建 dubbo.ts 文件:

import { DubboRouter } from "@apachedubbo/dubbo";
import { ExampleService } from "./gen/example_dubbo";

export default (router: DubboRouter) =>
  // registers apache.dubbo.demo.example.v1
  router.service(ExampleService, {
    // implements rpc Say
    async say(req) {
      return {
        sentence: `You said: ${req.sentence}`,
      };
    },
  }, { serviceGroup: 'dubbo', serviceVersion: '1.0.0' });

啟動(dòng) Server

Dubbo 服務(wù)可以嵌入到普通的 Node.js 服務(wù)器、Next.js、Express 或 Fastify 中。在這里我們將使用 Fastify,所以讓我們安裝 Fastify 以及我們?yōu)?Fastify 準(zhǔn)備的插件。

npm install fastify @apachedubbo/dubbo-fastify

創(chuàng)建 server.ts 文件,新建一個(gè) Server,把上一步中實(shí)現(xiàn)的 ExampleService 注冊(cè)給它。

接下來就可以直接初始化和啟動(dòng) Server 了,它將在指定的端口接收請(qǐng)求。

import { fastify } from "fastify";
import { fastifyDubboPlugin } from "@apachedubbo/dubbo-fastify";
import routes from "./dubbo";

async function main() {
  const server = fastify();
  await server.register(fastifyDubboPlugin, {
    routes,
  });
  server.get("/", (_, reply) => {
    reply.type("text/plain");
    reply.send("Hello World!");
  });
  await server.listen({ host: "localhost", port: 8080 });
  console.log("server is listening at", server.addresses());
}

void main();

最后,運(yùn)行代碼啟動(dòng)服務(wù)。

npx tsx server.ts

訪問服務(wù)

最簡(jiǎn)單的方式是使用 HTTP/1.1 POST 請(qǐng)求訪問服務(wù),參數(shù)則作以標(biāo)準(zhǔn) JSON 格式作為 HTTP 負(fù)載傳遞。如下是使用 cURL 命令的訪問示例:

curl \
 --header 'Content-Type: application/json' \
 --header 'TRI-Service-Version: 1.0.0' \
 --header 'TRI-Service-group: dubbo' \
 --data '{"sentence": "Hello World"}' \
 http://localhost:8080/apache.dubbo.demo.example.v1.ExampleService/Say

也可以使用標(biāo)準(zhǔn)的 Dubbo client 請(qǐng)求服務(wù),我們首先需要從生成代碼即 dubbo-node 包中獲取服務(wù)代理,為它指定 server 地址并初始化,之后就可以發(fā)起起 RPC 調(diào)用了。

創(chuàng)建 client.ts 文件。

import { createPromiseClient } from "@apachedubbo/dubbo";
import { ExampleService } from "./gen/example_dubbo";
import { createDubboTransport } from "@apachedubbo/dubbo-node";

const transport = createDubboTransport({
  baseUrl: "http://localhost:8080",
  httpVersion: "1.1",
});

async function main() {
  const client = createPromiseClient(ExampleService, transport, { serviceVersion: '1.0.0', serviceGroup: 'dubbo' });
  const res = await client.say({ sentence: "Hello World" });
  console.log(res);
}
void main();

運(yùn)行客戶端:

npx tsx client.ts

總結(jié)

當(dāng)前 Node.js 版本主要是實(shí)現(xiàn)了 Triple 協(xié)議的完整支持,接下來的版本中,社區(qū)將繼續(xù)完善地址發(fā)現(xiàn)、負(fù)載均衡等服務(wù)治理能力

相關(guān)鏈接:

[1] apache/dubbo

https://github.com/apache/dubbo

[2] apache/dubbo-go

https://github.com/apache/dubbo-go

[3] apache/dubbo-js

https://github.com/apache/dubbo-js

[4] apache/dubbo-rust

https://github.com/apache/dubbo-rust

作者:蔡建懌

點(diǎn)擊立即免費(fèi)試用云產(chǎn)品 開啟云上實(shí)踐之旅!

原文鏈接

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。文章來源地址http://www.zghlxwxcb.cn/news/detail-718213.html

到了這里,關(guān)于Apache Dubbo 首個(gè) Node.js 3.0-alpha 版本正式發(fā)布的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SeaTunnel 發(fā)布成為 Apache 頂級(jí)項(xiàng)目后首個(gè)版本 2.3.2,進(jìn)一步提高 Zeta 引擎穩(wěn)定性和易用性

    SeaTunnel 發(fā)布成為 Apache 頂級(jí)項(xiàng)目后首個(gè)版本 2.3.2,進(jìn)一步提高 Zeta 引擎穩(wěn)定性和易用性

    近日,Apache SeaTunnel 正式發(fā)布 2.3.2 版本。此時(shí)距離上一版本 2.3.1 發(fā)布已有兩個(gè)多月,期間我們收集并根據(jù)用戶和開發(fā)者的反饋,在 2.3.2 版本中對(duì) SeaTunnel Zeta Engine 進(jìn)行了 Bug 修復(fù),提高了引擎的穩(wěn)定性和使用效率。 此外,新版本還對(duì) Connector-V2 中的連接器進(jìn)行了功能和性能優(yōu)

    2024年02月10日
    瀏覽(24)
  • 中國首個(gè)《發(fā)行NFT數(shù)字藏品合規(guī)操作指引》正式發(fā)布

    中國首個(gè)《發(fā)行NFT數(shù)字藏品合規(guī)操作指引》正式發(fā)布

    【廣東省發(fā)布國內(nèi)首個(gè)《發(fā)行NFT數(shù)字藏品合規(guī)操作指引》2022版】 廣東省互聯(lián)網(wǎng)協(xié)會(huì)區(qū)塊鏈專業(yè)委員會(huì)、廣東中科智能區(qū)塊鏈技術(shù)有限公司、泰和泰(廣州)律師事務(wù)所聯(lián)合發(fā)布國內(nèi)首個(gè)《發(fā)行NFT數(shù)字藏品合規(guī)操作指引》2022版,以期為發(fā)行NFT數(shù)字藏品服務(wù)的行業(yè)提供客觀、守

    2024年02月15日
    瀏覽(23)
  • 精進(jìn)云原生 - Dubbo 3.2 正式發(fā)布

    精進(jìn)云原生 - Dubbo 3.2 正式發(fā)布

    我們非常高興地宣布,Dubbo 3.2 已經(jīng)正式發(fā)布了!這個(gè)版本帶來了許多新功能和改進(jìn),這也是 Dubbo 在面對(duì)云原生化的當(dāng)下的一次重要的嘗試。 Apache Dubbo 是一款 RPC 服務(wù)開發(fā)框架,用于解決微服務(wù)架構(gòu)下的服務(wù)治理與通信問題,官方提供了 Java、Golang 等多語言 SDK 實(shí)現(xiàn)。使用

    2024年03月08日
    瀏覽(20)
  • 國家信息中心牽頭制定的國內(nèi)首個(gè)區(qū)塊鏈服務(wù)網(wǎng)絡(luò)團(tuán)體標(biāo)準(zhǔn)正式發(fā)布

    國家信息中心牽頭制定的國內(nèi)首個(gè)區(qū)塊鏈服務(wù)網(wǎng)絡(luò)團(tuán)體標(biāo)準(zhǔn)正式發(fā)布

    日前,由國家信息中心牽頭提出,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)歸口管理,微眾銀行協(xié)同中國移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司、中國銀聯(lián)股份有限公司、北京紅棗科技有限公司等區(qū)塊鏈服務(wù)網(wǎng)絡(luò)BSN發(fā)展聯(lián)盟單位聯(lián)合發(fā)起與編制的團(tuán)體標(biāo)準(zhǔn)T/CESA 1221-2022 《區(qū)塊鏈 專用服務(wù)網(wǎng)絡(luò) 基礎(chǔ)

    2024年02月11日
    瀏覽(18)
  • 即將發(fā)布的 Kibana 版本可運(yùn)行 Node.js 18

    即將發(fā)布的 Kibana 版本可運(yùn)行 Node.js 18

    作者:Thomas Watson Kibana 構(gòu)建在 Node.js 框架之上。 為了確保每個(gè) Kibana 版本的穩(wěn)定性和使用壽命,我們始終將捆綁的 Node.js 二進(jìn)制文件保持為最新的最新長(zhǎng)期支持 (LTS) 版本。 當(dāng) Node.js 版本 18 升級(jí)到 LTS 時(shí),我們開始將 Kibana 升級(jí)到這個(gè)主要版本的工作。 ? 我們很快發(fā)現(xiàn) Node.j

    2024年02月13日
    瀏覽(25)
  • CSA GCR大會(huì)正式發(fā)布全球首個(gè)云滲透測(cè)試認(rèn)證專家課程,騰訊安全獲評(píng)“特別貢獻(xiàn)單位”

    CSA GCR大會(huì)正式發(fā)布全球首個(gè)云滲透測(cè)試認(rèn)證專家課程,騰訊安全獲評(píng)“特別貢獻(xiàn)單位”

    4月13日,第六屆云安全聯(lián)盟大中華區(qū)大會(huì)(CSA GCR Congress)在上海舉辦,大會(huì)由聯(lián)合國數(shù)字安全聯(lián)盟、上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市委網(wǎng)絡(luò)安全和信息化委員會(huì)辦公室、上海市普陀區(qū)人民政府指導(dǎo),云安全聯(lián)盟大中華區(qū)主辦。 會(huì)上,CSA GCR正式發(fā)布了全球首個(gè)云滲透測(cè)試

    2024年02月15日
    瀏覽(19)
  • Flink CDC 3.0 正式發(fā)布,詳細(xì)解讀新一代實(shí)時(shí)數(shù)據(jù)集成框架

    Flink CDC 3.0 正式發(fā)布,詳細(xì)解讀新一代實(shí)時(shí)數(shù)據(jù)集成框架

    Flink CDC 是基于數(shù)據(jù)庫日志 CDC(Change Data Capture)技術(shù)的實(shí)時(shí)數(shù)據(jù)集成框架,支持了全增量一體化、無鎖讀取、并行讀取、表結(jié)構(gòu)變更自動(dòng)同步、分布式架構(gòu)等高級(jí)特性。配合 Flink 優(yōu)秀的管道能力和豐富的上下游生態(tài),F(xiàn)link CDC 可以高效實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)集成。Flink CDC 社區(qū)發(fā)

    2024年02月04日
    瀏覽(22)
  • 庚頓數(shù)據(jù)正式發(fā)布軍工版實(shí)時(shí)數(shù)據(jù)庫庚金3.0,鼎力支撐中國國防數(shù)字化

    庚金實(shí)時(shí)數(shù)據(jù)庫管理系統(tǒng)是北京庚頓數(shù)據(jù)科技有限公司旗下自主知識(shí)產(chǎn)權(quán)的軍工級(jí)產(chǎn)品,可有效滿足特種行業(yè)自主產(chǎn)權(quán)、高性能、高安全、高穩(wěn)定等高端需求,輕松實(shí)現(xiàn)海量實(shí)時(shí)數(shù)據(jù)高頻采集、海量存儲(chǔ)等應(yīng)用場(chǎng)景,切實(shí)保障了客戶生產(chǎn)活動(dòng)的穩(wěn)定運(yùn)行。庚頓數(shù)據(jù)在中國科技

    2023年04月26日
    瀏覽(23)
  • Apache Flink 1.15正式發(fā)布

    Apache?Flink 核心概念之一是流 (無界數(shù)據(jù)) 批 (有界數(shù)據(jù)) 一體。 流批一體極大的降低了流批融合作業(yè)的開發(fā)復(fù)雜度。在過去的幾個(gè)版本中,F(xiàn)link 流批一體逐漸成熟,F(xiàn)link 1.15 版本中流批一體更加完善,后面我們也將繼續(xù)推動(dòng)這一方向的進(jìn)展。目前大數(shù)據(jù)處理的一個(gè)趨勢(shì)是越來越

    2024年01月20日
    瀏覽(19)
  • Kurator v0.3.0版本發(fā)布

    摘要: 2023年4月8日,Kurator正式發(fā)布v0.3.0版本。 本文分享自華為云社區(qū)《華為云 Kurator v0.3.0 版本發(fā)布!集群艦隊(duì)助力分布式云統(tǒng)一管理》,作者:云容器大未來 。 2023年4月8日,Kurator正式發(fā)布v0.3.0版本。 Kurator 是華為云推出的分布式云原生開源套件,通過集成業(yè)界主流開源技

    2023年04月18日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包