iT邦幫忙

microservices相關文章
共有 43 則文章
鐵人賽 Software Development DAY 30
用 NestJS 闖蕩微服務! 系列 第 30

技術 [用NestJS闖蕩微服務!] DAY30 - 閉幕式

這篇是本系列文的最後一篇,來將這三十天的內容整理一下。下方是本系列文的索引列表,讓各位在需要的時候可以更快的找到自己所需要的文章: 簡介 NestJS 微...

鐵人賽 Software Development DAY 29
用 NestJS 闖蕩微服務! 系列 第 29

技術 [用NestJS闖蕩微服務!] DAY29 - CQRS (下)

微服務下的高效查詢 前一篇文章有提到,在微服務架構下,可以運用 CQRS 的概念來實現 查詢專用服務,比如:查詢訂單頁面的專用服務。這類型的服務僅提供使用者進行...

鐵人賽 Software Development DAY 28
用 NestJS 闖蕩微服務! 系列 第 28

技術 [用NestJS闖蕩微服務!] DAY28 - CQRS (上)

微服務查詢的挑戰 在微服務架構下,資料會分散在各個服務的私有資料庫中,假如有個應用會需要從多個服務獲得資料並呈現在畫面上,勢必會面臨 如何查詢 的問題。前面在介...

鐵人賽 Software Development DAY 27
用 NestJS 闖蕩微服務! 系列 第 27

技術 [用NestJS闖蕩微服務!] DAY27 - Saga (四)

用 NestJS 實現 Orchestration Saga(下) 上一篇已經將 CreateOrderSaga 的部分實作出來了,不過還需要將訂單服務、商品服...

鐵人賽 Software Development DAY 26
用 NestJS 闖蕩微服務! 系列 第 26

技術 [用NestJS闖蕩微服務!] DAY26 - Saga (三)

用 NestJS 實現 Orchestration Saga (上) 試著使用 NestJS 來實現極簡版的 Orchestration Saga,目標是將前一...

鐵人賽 Software Development DAY 25
用 NestJS 闖蕩微服務! 系列 第 25

技術 [用NestJS闖蕩微服務!] DAY25 - Saga (二)

Saga 的運作機制 上一篇有提到 Saga 是由一連串非同步事件來完成資料一致性的機制,那麼要如何協調 Saga 執行的步驟就變得相當重要,如果遇到 Comp...

鐵人賽 Software Development DAY 24
用 NestJS 闖蕩微服務! 系列 第 24

技術 [用NestJS闖蕩微服務!] DAY24 - Saga (一)

微服務下的事務管理 在多數商業應用下,每一個請求都可能需要對資料庫進行操作,在過去 Monolithic 的架構下,如果只針對單一資料庫做操作,在 事務(Tra...

鐵人賽 Software Development DAY 23
用 NestJS 闖蕩微服務! 系列 第 23

技術 [用NestJS闖蕩微服務!] DAY23 - Circuit Breaker

微服務的保護機制 在微服務架構下,假如一個服務依賴於其他服務的回應,那麼其他服務回應緩慢、故障都會讓服務面臨故障風險,這樣的問題對上一篇提到的 API Gate...

鐵人賽 Software Development DAY 22
用 NestJS 闖蕩微服務! 系列 第 22

技術 [用NestJS闖蕩微服務!] DAY22 - API Gateway

微服務外部 API 的挑戰 在過去,Monolithic 架構讓 Client 呼叫的 API 基本上就會是該 Monolithic 所提供的 API,但在微服...

鐵人賽 Software Development DAY 21
用 NestJS 闖蕩微服務! 系列 第 21

技術 [用NestJS闖蕩微服務!] DAY21 - Monorepo (下)

Nx Console 圖片來源 Nx Console 是一個 Nx 官方推出的 VSCode Extension,可以幫助開發者減少輸入 Nx Command...

鐵人賽 Software Development DAY 20
用 NestJS 闖蕩微服務! 系列 第 20

技術 [用NestJS闖蕩微服務!] DAY20 - Monorepo (上)

微服務的程式碼管理策略 在 Monolithic 架構下,經常會將程式碼放在同一個 Git Repository,包含:前端、後端等。不過在微服務架構下,因為不...

鐵人賽 Software Development DAY 19
用 NestJS 闖蕩微服務! 系列 第 19

技術 [用NestJS闖蕩微服務!] DAY19 - OpenTelemetry (下)

NestJS 與 OpenTelemetry OpenTelemetry 有提供 Node.js 的 Client SDK,讓 Node.js 開發者可以透過其...

鐵人賽 Software Development DAY 18
用 NestJS 闖蕩微服務! 系列 第 18

技術 [用NestJS闖蕩微服務!] DAY18 - OpenTelemetry (上)

服務的追蹤 一個功能所執行的商業邏輯可能會非常複雜,在微服務架構下,這些邏輯通常會跨越多個服務來完成。在這種情況下,要釐清整個過程中經過了哪些服務、效能瓶頸出現...

鐵人賽 Software Development DAY 17
用 NestJS 闖蕩微服務! 系列 第 17

技術 [用NestJS闖蕩微服務!] DAY17 - ELK 與 Log

Log 的管理 隨著服務規模的增長,Log 管理面臨許多挑戰。過去,服務通常會將 Log 寫入本地檔案進行保存,但這種做法存在多種缺點,比如:沒有一個集中管理的...

鐵人賽 Software Development DAY 16
用 NestJS 闖蕩微服務! 系列 第 16

技術 [用NestJS闖蕩微服務!] DAY16 - Logger

微服務的 Log Log 是系統運作時產生的記錄,可以是系統發生的事件、錯誤訊息或是其他 有助於釐清系統行為與問題的重要線索。一個最簡單、基礎的 Log 可以是...

鐵人賽 Software Development DAY 15
用 NestJS 闖蕩微服務! 系列 第 15

技術 [用NestJS闖蕩微服務!] DAY15 - Prometheus (下)

NestJS 與 Prometheus 使用 NestJS 要如何將相關監控資料提供給 Prometheus 抓取呢?有官方套件可以使用嗎?很遺憾的是,Nest...

鐵人賽 Software Development DAY 14
用 NestJS 闖蕩微服務! 系列 第 14

技術 [用NestJS闖蕩微服務!] DAY14 - Prometheus (上)

微服務的監控 在微服務架構中,會同時存在多個服務,這些服務各自使用不同的技術、存在於不同的主機、有各自的生命週期,這使系統的 複雜度大幅提升,同時也讓 維運成本...

鐵人賽 Software Development DAY 13
用 NestJS 闖蕩微服務! 系列 第 13

技術 [用NestJS闖蕩微服務!] DAY13 - Health Check

微服務的健康狀態 在微服務架構中,服務的健康狀態非常重要,原因是當某個服務發生故障時,有可能直接或間接導致依賴於它的其他服務產生問題。如果沒有一個機制能夠得知服...

鐵人賽 Software Development DAY 12
用 NestJS 闖蕩微服務! 系列 第 12

技術 [用NestJS闖蕩微服務!] DA12 - Custom Transporter (下)

什麼是 NSQ? NSQ 是一個高效、可靠的即時分散式訊息處理系統,以去中心化的設計提供了高可用性和水平擴展能力。它適合用於需要低延遲和高吞吐量的訊息傳遞,如:...

鐵人賽 Software Development DAY 11
用 NestJS 闖蕩微服務! 系列 第 11

技術 [用NestJS闖蕩微服務!] DAY11 - Custom Transporter (上)

什麼是 Custom Transporter? NestJS 提供了一些常見、常用的 Transporter,像是:Redis、NATS、gRPC 等,但有時候...

鐵人賽 Software Development DAY 10
用 NestJS 闖蕩微服務! 系列 第 10

技術 [用NestJS闖蕩微服務!] DAY10 - gRPC Transporter (下)

gRPC Transporter NestJS 實作了 gRPC Transporter,讓微服務應用程式可以用跟其他 Transporter 相似的開發風格來...

鐵人賽 Software Development DAY 9

技術 [用NestJS闖蕩微服務!] DAY09 - gRPC Transporter (上)

什麼是 gRPC? gRPC 是一套高效、跨平台、基於 HTTP/2 的 遠端程序呼叫(Remote Procedure Call, RPC) 框架,有低延遲、...

鐵人賽 Software Development DAY 8

技術 [用NestJS闖蕩微服務!] DAY08 - Kafka Transporter

什麼是 Kafka? 圖片來源 Kafka 是一個分散式串流平台,專為巨量資料流設計,可透過水平擴展的方式來提升乘載量,甚至可以把資料存放於硬碟中,提供擴展性...

鐵人賽 Software Development DAY 7

技術 [用NestJS闖蕩微服務!] DAY07 - RabbitMQ Transporter

什麼是 RabbitMQ? 圖片來源 RabbitMQ 是一套可靠且成熟的 Message Broker,支援多種傳輸協定,包含:AMQP、MQTT 等,同時...

鐵人賽 Software Development DAY 6

技術 [用NestJS闖蕩微服務!] DAY06 - NATS Transporter

什麼是 NATS ? 圖片來源 NATS 是一套輕量、安全且高效的訊息傳遞系統,經常用於微服務之間的溝通、物聯網設備的訊息傳遞、雲端原生(Cloud Nati...

鐵人賽 Software Development DAY 5

技術 [用NestJS闖蕩微服務!] DAY05 - MQTT Transporter

什麼是 MQTT ? 圖片來源 MQTT 是一個基於 TCP/IP、極輕量的傳輸協定,具有可靠性高、擴展性高、占用頻寬小等特性,主要用於 物聯網(Intern...

鐵人賽 Software Development DAY 4

技術 [用NestJS闖蕩微服務!] DAY04 - Redis Transporter

什麼是 Redis ? 圖片來源 Redis 是一個基於記憶體的 key value 資料庫,在過去最常用來當作 快取(Cache) 的媒介,隨著 Redis...

鐵人賽 Software Development DAY 3

技術 [用NestJS闖蕩微服務!] DAY03 - 初探微服務應用程式(下)

客戶端 (Client) 上一篇在介紹 NestJS 的微服務應用程式以及相關概念,那要如何用 NestJS 與微服務應用程式溝通呢?NestJS 有為此設計了...

鐵人賽 Software Development DAY 2

技術 [用NestJS闖蕩微服務!] DAY02 - 初探微服務應用程式(上)

NestJS 微服務應用程式概念 在 NestJS 的世界裡,微服務應用程式(Microservices) 被定義為:使用與 HTTP 協定不同傳輸層的應用程式...

鐵人賽 Software Development DAY 1

技術 [用NestJS闖蕩微服務!] DAY01 - 簡介

隨著時代變遷,企業需要加快創新與攻占市場,透過加速應用程式建置週期來獲得競爭優勢,已成為不可或缺的條件之一,面對這樣的需求,大型應用程式充滿挑戰,如:要如何更快...