自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Node.js和Cassandra,構(gòu)建加密貨幣價格跟蹤器

譯文
區(qū)塊鏈
本教程介紹了如何使用小型Node.js應(yīng)用程序從API獲取加密貨幣數(shù)據(jù),并將該數(shù)據(jù)持續(xù)攝入到Cassandra中。

 

【51CTO.com快譯】自15年前數(shù)據(jù)技術(shù)領(lǐng)域出現(xiàn)大爆炸以來,當(dāng)時催生出了像Hadoop這樣迎合四個“V”(數(shù)量、種類、速度和準(zhǔn)確性)的技術(shù),這種現(xiàn)象越來越普遍:使用擁有專門功能的數(shù)據(jù)庫,以滿足不同類型的數(shù)據(jù)和使用模式。現(xiàn)在許多公司使用圖數(shù)據(jù)庫、時間序列數(shù)據(jù)庫、文檔數(shù)據(jù)庫及其他數(shù)據(jù)庫,處理不同的客戶和內(nèi)部工作負(fù)載。

Apache Cassandra™是一種寬列的NoSQL數(shù)據(jù)庫,很適合用于從物聯(lián)網(wǎng)傳感器、GPS設(shè)備、事務(wù)日志和任何時間序列應(yīng)用等更多應(yīng)用獲取數(shù)據(jù)的僅追加、寫入密集型工作負(fù)載。許多這些應(yīng)用需要與可視化引擎相結(jié)合,以創(chuàng)建報告和儀表板。由于大多數(shù)可視化庫使用JavaScript編寫,因此使用Node.js與數(shù)據(jù)庫和可視化引擎進(jìn)行交互是個好主意。

本教程將介紹如何使用小型Node.js應(yīng)用程序從API獲取加密貨幣數(shù)據(jù),并將該數(shù)據(jù)持續(xù)攝入到Cassandra中,供下游消費(fèi)。您可以將來自Cassandra的數(shù)據(jù)饋送給眾多應(yīng)用,比如加密貨幣交易平臺、加密貨幣價格監(jiān)測和警報等。

先決條件

在開始學(xué)習(xí)本教程之前,您需要以下內(nèi)容:

  • Node.js—本地Node.js安裝,隨帶默認(rèn)軟件包管理器npm。
  • Git—克隆含有本教程代碼的GitHub代碼存儲庫。
  • DataStax Astra—用于啟動無服務(wù)器Cassandra數(shù)據(jù)庫,與API或驅(qū)動程序一起使用。
  • CoinGecko-API—用于訪問CoinGecko加密貨幣數(shù)據(jù)的Node.js庫。

克隆存儲庫

您可以使用git clone命令克隆Cassandra Node.js Cryptotracker的GitHub存儲庫:

  1. git clone git@github.com:kovid-r/cassandra-nodejs-cryptotracker.git 

克隆存儲庫后,首要任務(wù)是安裝package.json文件和package-lock.json文件中指定的Node.js依賴項。npm將使用以下命令在存儲庫目錄中安裝依賴項:

  1. npm install 

這些說明也存在于存儲庫的README文件中。

配置Astra

創(chuàng)建數(shù)據(jù)庫

在運(yùn)行應(yīng)用程序之前,您需要注冊由Apache Cassandra提供支持的DataStax Astra,并啟動Cassandra數(shù)據(jù)庫。

雖然價格信息會隨著您改變云提供商和地區(qū)而變化,但對于概念證明、甚至小型生產(chǎn)應(yīng)用程序而言,您只需要Astra已經(jīng)為用戶提供的每月25美元的免費(fèi)積分,這可讓您獲得約40 GB 的免費(fèi)存儲空間、4000萬次讀取和500萬次寫入。無需信用卡即可注冊,只需使用谷歌或GitHub登錄即可。

點(diǎn)擊Create Database選項,您進(jìn)入以下頁面:可以在全球三大云提供商(谷歌云、AWS和Azure)中的任何一個云上創(chuàng)建數(shù)據(jù)庫。您需要提供數(shù)據(jù)庫名稱(節(jié)點(diǎn)應(yīng)用程序)和密鑰空間名稱(coingecko)。請使用指定的名稱。

初始化數(shù)據(jù)庫

想首次訪問數(shù)據(jù)庫,請使用CQLSH瀏覽器內(nèi)控制臺,如下圖所示:

如果數(shù)據(jù)庫中沒有密鑰空間,使用該控制臺運(yùn)行兩個命令來創(chuàng)建,并在指定的密鑰空間創(chuàng)建表。表的結(jié)構(gòu)在存儲庫中的initialize.sql文件中預(yù)定義。來自CoinGecko API調(diào)用的數(shù)據(jù)將出現(xiàn)在該表中。

下載Secure Bundle

您需要將DataStax Secure Bundle zip文件下載到Node.js應(yīng)用程序目錄。確保您的瀏覽器在下載文件時沒有解壓縮文件。

您需要為后面步驟中的配置提供該文件的路徑;想了解有關(guān)Secure Bundle的更多信息,請訪問DataStax Astra的官方文檔。

生成身份驗(yàn)證令牌

下一步是生成身份驗(yàn)證令牌。為此,點(diǎn)擊頂部菜單欄上的Billing選項。將會出現(xiàn)下圖所示的屏幕:

進(jìn)入到左側(cè)菜單欄中的Token Management選項,選擇Select Role下拉菜單中的R/W User角色,然后按Generate Token。

您將看到以下帶有身份驗(yàn)證令牌的屏幕。下載CSV格式的Client ID、Client Secret和Token,或直接復(fù)制它們。

運(yùn)行Cryptotracker

使用Npm Config進(jìn)行身份驗(yàn)證

現(xiàn)在,我們可以繼續(xù)運(yùn)行Node.js Cryptotracker應(yīng)用程序了。在本教程中,我們使用config軟件包避免在代碼中存儲令牌信息。我們在存儲庫config/default.json中包含了一個文件,看起來這樣:

想驗(yàn)證身份,按照說明替換該JSON文件中的secureConnectBundle、用戶名和密碼的值,但確保不要將其提交到代碼庫中。

運(yùn)行Npm Start

如果您已正確配置好一切,現(xiàn)在應(yīng)該能夠從Node.js應(yīng)用程序目錄運(yùn)行以下命令了:

  1. npm start 

Node.js應(yīng)用程序?qū)⑦\(yùn)行40秒,命中CoinGecko API??梢酝ㄟ^找到index.js文件中的這兩行,并重新配置主函數(shù)調(diào)用來更改它。

運(yùn)行npm start幾次后,您可以前往Astra網(wǎng)站查看您的配額已使用多少,如下圖所示:

您還可以登錄CQL控制臺,編寫CQL查詢,從coingecko.coin_prices表中獲取一些數(shù)據(jù),如下圖所示:

如果您想獲取其他貨幣的價格,可以將不同的參數(shù)傳遞給getCoinPrice方法變量:coinName和coinSymbol。

連接其他應(yīng)用程序

其他應(yīng)用程序可以使用來自Cassandra的數(shù)據(jù)。DataStax Astra支持C#、Python、Node.js、Java和C++的驅(qū)動程序。您可以將Grafana等流行的可視化引擎與Astra無縫集成。

結(jié)語

本教程介紹了如何使用Cassandra作為時間序列數(shù)據(jù)庫,使用Node.js應(yīng)用程序來獲取加密貨幣價格變動信息,還介紹了使用您首選的云提供商在云端配置DataStax Astra數(shù)據(jù)庫。

原文標(biāo)題:Build A Crypto Price Tracker Using Node.js and Cassandra,作者:Kovid Rathee

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2013-03-28 14:54:36

2023-01-10 14:11:26

2023-04-18 15:18:10

2022-08-22 07:26:32

Node.js微服務(wù)架構(gòu)

2022-09-12 15:58:50

node.js微服務(wù)Web

2024-03-22 11:40:40

Node.jsNodeCRUD

2022-05-09 17:33:23

PWA漸進(jìn)式Web應(yīng)用程序離線優(yōu)先

2022-06-10 10:24:02

JavaScriptCOVID-19前端

2021-06-15 15:03:21

MongoDBNode.jsCRUD

2022-08-28 16:30:34

Node.jsDocker指令

2022-06-10 14:10:38

加密貨幣代幣比特幣

2021-10-03 15:02:50

HTTPNodejs

2024-03-27 11:18:02

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2022-05-05 08:02:44

MongoDBNode.js加密

2019-01-03 09:06:55

Node.js命令行工具 前端

2021-11-11 11:13:20

js Npm基礎(chǔ)

2020-12-08 06:28:47

Node.js異步迭代器

2020-09-28 06:57:39

Node.jsGraphQLAPI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號