Developing Microservices with Node.js

David Gonzalez

買這商品的人也買了...

商品描述

Key Features

  • Real world example explained chapter after chapter with code examples.
  • Useful concepts for other languages like Java or PHP
  • Easy to follow by people with little to none experience in Node.js
  • Node.js Version 0.12.2 and the latest compatible versions of Seneca and PM2

Book Description

Microservices architecture is a style of software architecture. As the name suggests, microservicess refers to small services. For a large implementation, this means breaking the system into really small, independent services. Alternative to monolithic architecture (where the entire system is considered as a single big, interwoven segment), microservices approach is getting more and more popular with large, complex applications that have a very long lifecycle, which require changes at regular intervals. Microservices approach allows this type of changes with ease as only a part of the system undergoes changes and change control is easy.

An example of such large system can be an online store―includes user interface, managing product catalog, processing orders, managing customer's account. In a microservices architecture each of these tasks will be divided and into smaller services. Also, these services will be further broken down into independent services―for user interface, there will be separate services for input, output, search bar management, and so on. Similarly, all other tasks can be divided in very small and simple services.

What you will learn

  • Identify where the microservice oriented architectures can tackle the most common problems in the software used by the big organisations.
  • Re-architecture an existing monolithic system into a microservices oriented software.
  • Build robust and scalable microservices using Seneca and Node.js.
  • Testing of the microservices in insolation in order to create a solid system.
  • Deploy and manage microservices using PM2
  • Monitoring the health of a microservice (CPU, memory, I/O...) and how the degradation of the performance in one microservice could degrade the performance of full system.

About the Author

David Gonzalez is a language-agnostic software engineer working in financial services for a number of years, trying to find solutions for the right level of abstraction and learning how to get the right balance between too concrete and too abstract.

He studied in Spain, but soon moved to the wider and more interesting market of Dublin, where he has been living since 2011. David is currently working as an independent consultant in the FinTech sector. The URL to his Linkedin account is https://ie.linkedin.com/in/david-gonzalez-737b7383.

He loves experimenting with new technologies and paradigms in order to get the broader picture of the complex world of software development.

Table of Contents

  1. Microservices Architecture
  2. Microservices in Node.js – Seneca and PM2 Alternatives
  3. From the Monolith to Microservices
  4. Writing Your First Microservice in Node.js
  5. Security and Traceability
  6. Testing and Documenting Node.js Microservices
  7. Monitoring Microservices
  8. Deploying Microservices

商品描述(中文翻譯)

主要特點


  • 逐章解釋真實世界的例子,並附上程式碼範例。

  • 對其他語言(如Java或PHP)也有用的概念。

  • 適合沒有或幾乎沒有Node.js經驗的人閱讀。

  • 使用Node.js版本0.12.2以及Seneca和PM2的最新相容版本。

書籍描述

微服務架構是一種軟體架構風格。正如其名,微服務指的是小型服務。對於大型實施來說,這意味著將系統分解為非常小、獨立的服務。與整體式架構(將整個系統視為單一的大型、交織在一起的部分)相比,微服務的方法在需要定期進行更改的大型、複雜應用程式中越來越受歡迎。微服務的方法使得這類更改變得容易,因為只有系統的一部分進行更改,且變更控制容易。

這樣的大型系統的例子可以是一個線上商店,包括使用者介面、管理產品目錄、處理訂單、管理客戶帳戶等。在微服務架構中,每個任務都會被分成更小的服務。同樣地,這些服務將進一步分解為獨立的服務,例如使用者介面將有獨立的輸入、輸出、搜尋欄管理等服務。同樣地,所有其他任務都可以分解為非常小而簡單的服務。

你將學到什麼


  • 識別微服務導向架構可以解決大型組織在軟體中遇到的最常見問題的地方。

  • 將現有的整體式系統重新架構為微服務導向軟體。

  • 使用Seneca和Node.js建立強大且可擴展的微服務。

  • 獨立測試微服務,以建立堅固的系統。

  • 使用PM2部署和管理微服務。

  • 監控微服務的健康狀態(CPU、記憶體、I/O...),以及一個微服務的性能下降如何影響整個系統的性能。

關於作者

David Gonzalez 是一位不受語言限制的軟體工程師,已在金融服務業工作多年,試圖找到適當的抽象層次解決方案,並學習如何在具體和抽象之間取得適當的平衡。

他在西班牙學習,但很快就搬到了更廣泛且更有趣的都柏林市場,自2011年以來一直居住在那裡。David目前在金融科技領域擔任獨立顧問。他的Linkedin帳戶的URL是https://ie.linkedin.com/in/david-gonzalez-737b7383。

他喜歡嘗試新技術和範式,以獲得軟體開發這個複雜世界的更廣泛圖景。

目錄


  1. 微服務架構

  2. Node.js中的微服務 - Seneca和PM2的替代方案

  3. 從整體式到微服務

  4. 在Node.js中撰寫第一個微服務

  5. 安全性和可追蹤性

  6. 測試和記錄Node.js微服務

  7. 監控微服務

  8. 部署微服務