Scala Microservices

Jatin Puri, Selvam Palanimalai

  • 出版商: Packt Publishing
  • 出版日期: 2017-09-18
  • 售價: $1,690
  • 貴賓價: 9.5$1,606
  • 語言: 英文
  • 頁數: 328
  • 裝訂: Paperback
  • ISBN: 1786469340
  • ISBN-13: 9781786469342
  • 相關分類: Microservices 微服務SOAJVM 語言
  • 下單後立即進貨 (約3~4週)

商品描述

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

  1. Introduction to Microservices
  2. Introduction to Play Framework
  3. Asynchronous and Non-Blocking
  4. Dive Deeper
  5. Reactive Manifesto
  6. Introduction to Lagom
  7. CQRS and Event Sourcing
  8. Effective Communication
  9. Development Process
  10. Production Containers
  11. Example Application in K8s

商品描述(中文翻譯)

主要特點



  • 使用Play Framework和Lagom構建強大的微服務

  • 使用事件源和CQRS為高互動應用程序建模和擴展數據

  • 通過使用消息傳遞實現對故障具有韌性的應用程序

  • 使用Kubernetes的Docker容器部署和管理Scala微服務以實現擴展

書籍描述


在本書中,我們將學習使用微服務構建優秀應用程序所需的技能,以及與此設計相關的陷阱和避免它們的技巧。


我們將使用Play Framework構建高性能應用程序。您將了解編寫異步和非阻塞代碼的重要性,以及Play如何利用這種範式實現更高的吞吐量。本書介紹了反應式宣言並使用Lagom框架來實現建議的範式。Lagom教我們構建可擴展且對故障具有韌性的應用程序,並解決微服務面臨的問題,如服務網關、服務發現、通信等。消息傳遞被用作實現韌性的手段,事件源和CQRS則有助於為高互動應用程序建模數據。


本書還分享了大型團隊的有效開發流程,包括使用良好的版本控制工作流程、持續集成和部署策略。我們介紹了Docker容器和Kubernetes調度器。最後,我們將查看在Kubernetes中部署一組Scala微服務的端到端部署,包括負載平衡、服務發現和滾動部署。

你將學到什麼



  • 了解微服務的基本知識,以及與其相關的優點和風險

  • 使用Play和Lagom構建低延遲、高吞吐量的應用程序

  • 深入研究異步編程,並了解其提供的優越性

  • 使用CQRS和事件源為複雜領域數據建模,實現擴展和簡化

  • 通過使用消息傳遞實現對故障具有韌性

  • 了解版本控制工作流程、測試、持續集成和部署的最佳實踐

  • 了解使用Linux容器的操作系統級虛擬化。使用Docker解釋容器的工作原理

  • 使用Kubernetes自動化基礎架構

關於作者


Jatin Puri是一位熱情的工程師和編程語言愛好者。他擁有數學碩士學位。他是一位經過Lightbend認證的Scala培訓師,並通過Hyderabad Scala Meetup、Stack Overflow、培訓工作坊和開源貢獻等方式參與Scala的推廣。


當他不在編程時,他在The Art of Living基金會的指導下教授冥想和壓力消除技巧。


Selvam Palanimalai是一位生產工程師,目前在多倫多市中心從事使用Kubernetes和Spark進行數據管道自動化的工作。他熱衷於技術驅動的問題解決、乾淨的數據和無情的自動化。他在GitHub上活躍於開源社區,並為密歇根大學安娜堡分校的統計學組(SOCR)做出貢獻。

目錄



  1. 微服務介紹

  2. Play Framework介紹

  3. 異步和非阻塞

  4. 深入研究

  5. 反應式宣言

  6. Lagom介紹

  7. CQRS和事件源

  8. 有效通信

  9. 開發流程

  10. 生產容器

  11. K8s中的示例應用程序