Scala Microservices
暫譯: Scala 微服務
Jatin Puri, Selvam Palanimalai
- 出版商: Packt Publishing
- 出版日期: 2017-09-18
- 售價: $1,880
- 貴賓價: 9.5 折 $1,786
- 語言: 英文
- 頁數: 328
- 裝訂: Paperback
- ISBN: 1786469340
- ISBN-13: 9781786469342
-
相關分類:
Microservices 微服務、SOA、JVM 語言
海外代購書籍(需單獨結帳)
商品描述
Key Features
- Build robust microservices using Play Framework and Lagom
- Model your data for highly interactive applications and scale using Event Sourcing & CQRS
- Build applications that are resilient to failures by using Message Passing for communication
- Deploy and manage Scala Microservices for scale by using docker containers with Kubernetes for orchestration
Book Description
In this book we will learn what it takes to build great applications using Microservices, the pitfalls associated with such a design and the techniques to avoid them.
We learn to build highly performant applications using Play Framework. You will understand the importance of writing code that is asynchronous and nonblocking and how Play leverages this paradigm for higher throughput. The book introduces Reactive Manifesto and uses Lagom Framework to implement the suggested paradigms. Lagom teaches us to: build applications that are scalable and resilient to failures, and solves problems faced with microservices like service gateway, service discovery, communication and so on. Message Passing is used as a means to achieve resilience and CQRS with Event Sourcing helps us in modelling data for highly interactive applications.
The book also shares effective development processes for large teams by using good version control workflow, continuous integration and deployment strategies. We introduce Docker containers and Kubernetes orchestrator. Finally, we look at end to end deployment of a set of scala microservices in kubernetes with load balancing, service discovery and rolling deployments.
What you will learn
- Learn the essentials behind Microservices, the advantages and perils associated with them
- Build low latency, high throughput applications using Play and Lagom
- Dive deeper with being asynchronous and understand the superiority it provides
- Model your complex domain data for scale and simplicity with CQRS and Event Sourcing
- Be resilient to failures by using message passing
- Look at best practices of version control workflow, testing, continuous integration and deployments
- Understand operating system level virtualization using Linux Containers. Docker is used to explain how containers work
- Automate your infrastructure with kubernetes
About the Author
Jatin Puri is a passionate engineer and programming language enthusiast. He holds a master's degree in mathematics. He is a Lightbend-certified Scala trainer and is involved with spreading goodness of Scala through Hyderabad Scala Meetup, Stack Overflow, training workshops, and open source contributions.
When he is not programming, he teaches meditation and stress elimination techniques under the aegis of The Art of Living foundation.
Selvam Palanimalai is a Production Engineer currently working in data pipeline automation using Kubernetes and Spark in downtown Toronto. He is passionate about technology-driven problem solving, clean data, and merciless automation. He is active in the open source community on GitHub, contributing to the Statistical group (SOCR) at the University of Michigan, Ann Arbor.
Table of Contents
- Introduction to Microservices
- Introduction to Play Framework
- Asynchronous and Non-Blocking
- Dive Deeper
- Reactive Manifesto
- Introduction to Lagom
- CQRS and Event Sourcing
- Effective Communication
- Development Process
- Production Containers
- Example Application in K8s
商品描述(中文翻譯)
#### 主要特點
- 使用 Play Framework 和 Lagom 建立穩健的微服務
- 為高度互動的應用程式建模數據,並使用事件來源(Event Sourcing)和 CQRS 進行擴展
- 通過消息傳遞(Message Passing)進行通信,構建對故障具有韌性的應用程式
- 使用 Docker 容器和 Kubernetes 進行編排,部署和管理可擴展的 Scala 微服務
#### 書籍描述
在本書中,我們將學習建立優秀應用程式所需的條件,微服務設計的陷阱以及避免這些陷阱的技術。
我們學習使用 Play Framework 建立高效能的應用程式。您將了解編寫非同步(asynchronous)和非阻塞(non-blocking)代碼的重要性,以及 Play 如何利用這一範式來提高吞吐量。本書介紹了反應式宣言(Reactive Manifesto),並使用 Lagom Framework 實現建議的範式。Lagom 教我們:構建可擴展且對故障具有韌性的應用程式,並解決微服務面臨的問題,如服務閘道(service gateway)、服務發現(service discovery)、通信等。消息傳遞作為實現韌性的一種手段,而 CQRS 與事件來源(Event Sourcing)幫助我們為高度互動的應用程式建模數據。
本書還分享了大型團隊的有效開發流程,使用良好的版本控制工作流程、持續集成和部署策略。我們介紹了 Docker 容器和 Kubernetes 編排器。最後,我們將探討在 Kubernetes 中進行一組 Scala 微服務的端到端部署,包括負載平衡、服務發現和滾動部署。
#### 您將學到的內容
- 學習微服務的基本要素、優勢和相關的風險
- 使用 Play 和 Lagom 建立低延遲、高吞吐量的應用程式
- 更深入地了解非同步性及其帶來的優越性
- 使用 CQRS 和事件來源為您的複雜領域數據建模,以實現擴展性和簡單性
- 通過消息傳遞提高對故障的韌性
- 了解版本控制工作流程、測試、持續集成和部署的最佳實踐
- 理解使用 Linux 容器的操作系統級虛擬化。使用 Docker 解釋容器的運作方式
- 使用 Kubernetes 自動化您的基礎設施
#### 關於作者
**Jatin Puri** 是一位熱情的工程師和程式語言愛好者。他擁有數學碩士學位。他是 Lightbend 認證的 Scala 培訓師,並通過海德拉巴 Scala Meetup、Stack Overflow、培訓工作坊和開源貢獻推廣 Scala 的優勢。
當他不在編程時,他在「生活藝術基金會」的指導下教授冥想和壓力消除技術。
**Selvam Palanimalai** 是一名生產工程師,目前在多倫多市中心使用 Kubernetes 和 Spark 進行數據管道自動化。他熱衷於技術驅動的問題解決、乾淨數據和無情的自動化。他在 GitHub 的開源社區中活躍,為密歇根大學安娜堡的統計小組(SOCR)做出貢獻。
#### 目錄
1. 微服務介紹
2. Play Framework 介紹
3. 非同步和非阻塞
4. 更深入的探討
5. 反應式宣言
6. Lagom 介紹
7. CQRS 和事件來源
8. 有效的通信
9. 開發流程
10. 生產容器
11. K8s 中的示例應用程式