售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Second Edition
Copyright
Building Microservices with .NET Core 2.0
Second Edition
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
An Introduction to Microservices
Origin of microservices
Discussing microservices
Monolithic architecture
Service-Oriented architecture
What is a service?
Understanding the microservice architecture
Messaging in microservices
Synchronous messaging
Asynchronous messaging
Message formats
Why should we use microservices?
How does the microservice architecture work?
Advantages of microservices
SOA versus microservices
Prerequisites of the microservice architecture
Understanding the problems with the monolithic architectural style
Challenges in standardizing a .NET stack
Fault tolerance
Scaling
Vertical scaling or scale up
Horizontal scaling or scale out
Deployment challenges
Organizational alignment
Modularity
Big database
Prerequisites for microservices
Functional overview of the application
Solutions for current challenges
Handling deployment problems
Making much better monolithic applications
Introducing dependency injections
Database refactoring
Database sharding and partitioning
DevOps culture
Automation
Testing
Versioning
Deployment
Identifying decomposition candidates within monolithic
Important microservices advantages
Technology independence
Interdependency removal
Alignment with business goals
Cost benefits
Easy scalability
Security
Data management
Integrating monolithic
Overview of Azure Service Fabric
Summary
Implementing Microservices
Introduction
C# 7.0
Entity Framework Core
Visual Studio 2017
Microsoft SQLServer
Size of microservices
What makes a good service?
DDD and its importance for microservices
Domain model design
Importance for microservices
The concept of seam
Module interdependency
Technology
Team structure
Database
Master data
Transaction
Communication between microservices
Benefits of the API gateway for microservices
API gateway versus API management
Revisiting the Flix One case study
Prerequisites
Transitioning to our product service
Migrations
Code migration
Creating our project
Adding the model
Adding a repository
Registering the repositories
Adding a product controller
The ProductService API
Adding EF core support
EF Core DbContext
EF Core migrations
Database migration
Revisiting repositories and the controller
Introducing ViewModel
Revisiting the product controller
Adding Swagger support
Summary
Integration Techniques and Microservices
Communication between services
Styles of collaboration
Integration patterns
The API gateway
The event-driven pattern
Event sourcing
Eventual consistency
Compensating transactions
Competing consumers
Azure Service Bus
Azure queues
Implementing an Azure Service Bus queue
Prerequisites
Sending messages to the queue
Adding configuration settings
Receiving messages from the queue
Summary
Testing Microservices
How to test microservices
Handling challenges
Testing strategies (testing approach)
Testing pyramid
Types of microservice tests
Unit testing
Component (service) testing
Integration testing
Contract testing
Consumer-driven contracts
How to implement a consumer-driven test
How Pact-net-core helps us achieve our goal
Performance testing
End-to-end (UI/functional) testing
Sociable versus isolated unit tests
Stubs and mocks
Tests in action
Getting ready for the test project
Unit tests
Integration tests
Consumer-driven contract tests
Summary
Deploying Microservices
Monolithic application deployment challenges
Understanding the deployment terminology
Prerequisites for successful microservice deployments
Isolation requirements for microservice deployment
Need for a new deployment paradigm
Containers
What are containers?
Suitability of containers over virtual machines
Transformation of the operation team's mindset
Containers are new binaries
Does it work on your machine? Let's ship your machine!
Introducing Docker
Microservice deployment with Docker overview
Microservice deployment example using Docker
Setting up Docker on your machine
Prerequisites
Creating an ASP.NET Core web application
Summary
Securing Microservices
Security in monolithic applications
Security in microservices
Why won't a traditional .NET auth mechanism work?
JSON Web Tokens
What is OAuth 2.0?
What is OpenID Connect?
Azure Active Directory
Microservice Auth example with OpenID Connect, OAuth 2.0, and Azure AD
Registration of TodoListService and TodoListWebApp with Azure AD tenant
Generation of AppKey for TodoListWebApp
Configuring Visual Studio solution projects
Generate client certificates on IIS Express
Running both the applications
Azure API management as an API gateway
Rate limit and quota policy example
Container security
Other security best practices
Summary
Monitoring Microservices
Instrumentation and telemetry
Instrumentation
Telemetry
The need for monitoring
Health monitoring
Availability monitoring
Performance monitoring
Security monitoring
SLA monitoring
Auditing sensitive data and critical business transactions
End user monitoring
Troubleshooting system failures
Monitoring challenges
Scale
DevOps mindset
Data flow visualization
Testing of monitoring tools
Monitoring strategies
Application/system monitoring
Real user monitoring
Semantic monitoring and synthetic transactions
Profiling
Endpoint monitoring
Logging
Logging challenges
Logging strategies
Centralized logging
Using a correlation ID in logging
Semantic logging
Monitoring in Azure Cloud
Microsoft Azure Diagnostics
Storing diagnostic data using Azure storage
Using Azure portal
Specifying a storage account
Azure storage schema for diagnostic data
Introduction of Application Insights
Other microservice monitoring solutions
A brief overview of the ELK stack
Elasticsearch
Logstash
Kibana
Splunk
Alerting
Reporting
Summary
Scaling Microservices
Scalability overview
Scaling infrastructure
Vertical scaling (scaling up)
Horizontal scaling (scaling out)
Microservice scalability
Scale Cube model of scalability
Scaling of x axis
Scaling of z axis
Scaling of y axis
Characteristics of a scalable microservice
Scaling the infrastructure
Scaling virtual machines using scale sets
Auto Scaling
Container scaling using Docker Swarm
Scaling service design
Data persistence model design
Caching mechanism
CacheCow
Azure Redis Cache
Redundancy and fault tolerance
Circuit breakers
Closed state
Open state
Half-Open state
Service discovery
Summary
Introduction to Reactive Microservices
Understanding reactive microservices
Responsiveness
Resilience
Autonomous
Message-driven: a core of reactive microservices
Let's make code reactive
Event communication
Security
Message-level security
Scalability
Communication resilience
Managing data
The microservice ecosystem
Coding reactive microservices
Creating the project
Communication between the application and the database
Client – coding it down
Summary
Creating a Complete Microservice Solution
Architectures before microservices
The monolithic architecture
Challenges in standardizing the .NET stack
Scaling
Service-oriented architecture
Microservice-styled architecture
Messaging in microservices
Monolith transitioning
Integration techniques
Deployment
Testing microservices
Security
Monitoring
Monitoring challenges
Scale
Component lifespan
Information visualization
Monitoring strategies
Scalability
Infrastructure scaling
Service design
Reactive microservices
Greenfield application
Scoping our services
The book-listing microservice
The book-searching microservice
The shopping-cart microservice
The order microservice
User-authentication
Synchronous versus asynchronous
The book-catalog microservice
The shopping-cart microservice
The order microservice
The user-authentication microservice
Summary
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜