Practical Microservices

Build Event-Driven Architectures with Event Sourcing and Cqrs

出版社 Pragmatic Bookshelf
発売日 2020/04/28
ページ数 292
ISBN-13 9781680506457
お届け日 通常 03月17日~03月24日

通常価格 ¥5,060

税込 配送料は購入手続き時に計算されます。

出版社より

MVC and CRUD make software easier to write, but harder to change. Microservice-based architectures can help even the smallest of projects remain agile in the long term, but most tutorials meander in theory or completely miss the point of what it means to be microservice-based. Roll up your sleeves with real projects and learn the most important concepts of evented architectures. You’ll have your own deployable, testable project and a direction for where to go next.

Much ink has been spilled on the topic of microservices, but all of this writing fails to accurately identity what makes a system a monolith, define what microservices are, or give complete, practical examples, so you’re probably left thinking they have nothing to offer you. You don’t have to be at Google or Facebook scale to benefit from a microservice-based architecture. Microservices will keep even small and medium teams productive by keeping the pieces of your system focused and decoupled.

Discover the basics of message-based architectures, render the same state in different shapes to fit the task at hand, and learn what it is that makes something a monolith (it has nothing to do with how many machines you deploy to). Conserve resources by performing background jobs with microservices. Deploy specialized microservices for registration, authentication, payment processing, e-mail, and more. Tune your services by defining appropriate service boundaries. Deploy your services effectively for continuous integration. Master debugging techniques that work across different services. You’ll finish with a deployable system and skills you can apply to your current project.

Add the responsiveness and flexibility of microservices to your project, no matter what the size or complexity.

What You Need:

While the principles of this book transcend programming language, the code examples are in Node.js because JavaScript, for better or worse, is widely read. You’ll use PostgreSQL for data storage, so familiarity with it is a plus. The books does provide Docker images to make working with PostgreSQL a bit easier, but extensive Docker knowledge is not required.


DeepL粗訳

MVC と CRUD はソフトウェアを書きやすくしますが、変更するのは難しくなります。マイクロサービスベースのアーキテクチャは、どんなに小さなプロジェクトでも長期的にアジャイルな状態を維持するのに役立ちますが、ほとんどのチュートリアルでは、理論的に蛇行していたり、マイクロサービスベースであることの意味を完全に見落としていたりします。実際のプロジェクトに袖を通し、イベント型アーキテクチャの最も重要な概念を学びましょう。あなた自身のデプロイ可能でテスト可能なプロジェクトと、次に進むべき方向性を手に入れることができるでしょう。

マイクロサービスの話題では多くの情報が飛び交っていますが、ここに書かれているものはすべて、何がシステムをモノリスにしているのかを正確に特定したり、マイクロサービスとは何かを定義したり、完全な実用的な例を示したりすることはできませんでした。マイクロサービスベースのアーキテクチャの恩恵を受けるには、GoogleやFacebookの規模である必要はありません。マイクロサービスは、システムの各部分に焦点を当てて分離することで、中小規模のチームでも生産性を維持することができます。

メッセージベースのアーキテクチャの基本を発見し、同じ状態をタスクに合わせて異なる形でレンダリングし、何がモノリスになるのかを学びます(デプロイ先のマシンの数とは関係ありません)。マイクロサービスでバックグラウンドジョブを実行することでリソースを節約する。登録、認証、支払い処理、電子メールなどに特化したマイクロサービスをデプロイします。適切なサービス境界を定義することで、サービスを調整します。継続的な統合のために、サービスを効果的に展開します。異なるサービス間で動作するデバッグ技術を習得します。デプロイ可能なシステムと、現在のプロジェクトに適用できるスキルを身につけて終了します。

規模や複雑さに関係なく、マイクロサービスの応答性と柔軟性をプロジェクトに加えることができます。

必要なもの

本書の原則はプログラミング言語を超えていますが、JavaScriptは良くも悪くも広く読まれているため、コード例はNode.jsで書かれています。データストレージにはPostgreSQLを使用するので、PostgreSQLに精通していることはプラスになります。この本ではPostgreSQLでの作業を少し簡単にするためのDockerイメージが提供されていますが、Dockerの幅広い知識は必要ありません。