舉報

會員
Microservices with Clojure
YoushouldhaveaworkingknowledgeofprogramminginClojure.However,noknowledgeofRESTfularchitecture,microservices,orwebservicesisexpected.Ifyouarelookingtoapplytechniquestoyourownprojects,takingyourfirststepsintomicroservicearchitecture,thisbookisforyou.
最新章節(jié)
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Summary
- Getting started with Kubernetes
- Introducing Kubernetes
- Creating a Docker image for Helping Hands
品牌:中圖公司
上架時間:2021-06-30 18:32:43
出版社:Packt Publishing
本書數(shù)字版權(quán)由中圖公司提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- Leave a review - let other readers know what you think 更新時間:2021-06-30 19:25:10
- Other Books You May Enjoy
- Summary
- Getting started with Kubernetes
- Introducing Kubernetes
- Creating a Docker image for Helping Hands
- Setting up Docker
- Introducing Containers and Docker
- Deploying microservices at scale
- Logging and monitoring guidelines
- Using ELK Stack with Collectd
- Setting up Logstash
- Setting up Kibana
- Setting up Elasticsearch
- Using ELK Stack for monitoring
- Monitoring microservices
- Creating Auth APIs using Pedestal
- Enabling users and roles for authorization
- Creating Tokens
- Creating a secret key for JSON Web Encryption
- Using a Nimbus JOSE JWT library for Tokens
- Creating an Auth service for Helping Hands
- Introducing Tokens and JWT
- Enabling authentication and authorization
- Deploying and Monitoring Secured Microservices
- Summary
- Using Avro for data transfer
- Integrating the Alert Service with Kafka
- Initializing Kafka with Mount
- Using Kafka APIs
- Using Kafka for Helping Hands
- Using Kafka as an event store
- Using Kafka as a messaging system
- Getting Kafka
- Design principles
- Introduction to Apache Kafka
- Using the CQRS pattern
- Event sourcing
- Implementing event-driven patterns
- Event-Driven Patterns for Microservices
- Summary
- Integrating with Helping Hands
- Enabling mount
- Managing application states with mount
- Integrating with Helping Hands
- Enabling Omniconf
- Using Omniconf for configuration
- Using configuration parameters
- Defining configuration parameters
- Configuration principles
- Configuring Microservices
- Summary
- Creating an email interceptor using Postal
- Adding routes
- Creating a microservice for alerts
- Getting status with aggregation queries
- Using geo queries
- Creating query interceptors
- Defining the Elasticsearch index
- Creating a microservice for Lookup
- Testing routes
- Creating interceptors
- Creating a persistence adapter
- Defining Datomic schema
- Adding routes
- Creating a microservice for Order
- Testing routes
- Creating interceptors
- Creating a persistence adapter
- Defining a Datomic schema
- Adding routes
- Creating a microservice for Services
- Testing routes
- Creating interceptors
- Creating a persistence adapter
- Defining Datomic schema
- Adding routes
- Creating a microservice for Service Provider
- Testing routes
- Creating interceptors
- Creating a persistence adapter
- Defining the Datomic schema
- Adding routes
- Creating a microservice for Service Consumer
- Interceptor for events
- Interceptor for the data model
- Interceptor for Auth
- Defining generic interceptors
- Creating a Pedestal project
- Designing the interceptor chain and context
- Implementing Hexagonal Architecture
- Building Microservices for Helping Hands
- Summary
- Deleting a database
- Achieving immutability
- Using Datalog to query
- Transacting data
- Connecting to a database
- Getting started with Datomic
- Using Datomic
- Schema
- Data model
- Development model
- Datomic versus traditional database
- Datomic architecture
- Achieving Immutability with Datomic
- Summary
- Using WebSocket with Pedestal and Jetty
- Using WebSockets
- Creating interceptors for SSE
- Using server-sent events (SSE)
- Using chain providers
- Publishing operational metrics
- Logging
- Handling errors and exceptions
- Creating interceptors
- Accessing request parameters
- Declaring routers
- Creating routes
- Using interceptors and handlers
- Creating a Pedestal service
- Importance of a Context Map
- The interceptor chain
- Interceptors
- Pedestal concepts
- Introduction to Pedestal
- Summary
- Service and Order APIs
- Consumer and Provider APIs
- REST APIs for Helping Hands
- Using RESTful APIs via cURL
- Naming conventions
- Status codes
- RESTful APIs
- Introducing REST
- REST APIs for Microservices
- Summary
- Clojure IDE
- Generating artifacts
- Generating reports
- Running tests
- Running a project
- Configuring a project
- Clojure project
- Boot
- Leiningen
- Clojure build tools
- REPL
- History of Clojure
- Clojure and REPL
- Development Environment
- Summary
- Order workflow
- Service consumer workflow
- Service workflow
- Service provider workflow
- Workflows for Helping Hands
- Extensibility
- Messaging and events
- Isolating services by business logic
- Isolating services by persistence
- Moving to microservices
- Limitations
- Deployment
- Application components
- Monolithic architecture
- Domain model
- User stories
- Users and entities
- Design
- Microservices for Helping Hands Application
- Summary
- Scaling
- CI/CD
- Automated continuous deployment
- Transactions
- Combining data
- Asynchronous events
- Direct lookup
- Data management
- Service discovery patterns
- Service registry
- Service discovery
- Service contracts
- Observer model
- Direct messaging
- Messaging and contracts
- Hexagonal architecture
- Components
- Organizing around bounded contexts
- Identifying bounded contexts
- Bounded context
- Domain-driven design
- Microservices Architecture
- Summary
- Release cycle and the deployment process
- Identifying candidates for microservices
- Monolithic applications to microservices
- When to use what
- Data management
- Microservices
- Monolithic architecture
- Dawn of application architecture
- Monolithic Versus Microservices
- Reviews
- Get in touch
- Conventions used
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewer
- About the author
- Contributors
- PacktPub.com
- Why subscribe?
- Packt Upsell
- Dedication
- Title Page
- coverpage
- coverpage
- Title Page
- Dedication
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Conventions used
- Get in touch
- Reviews
- Monolithic Versus Microservices
- Dawn of application architecture
- Monolithic architecture
- Microservices
- Data management
- When to use what
- Monolithic applications to microservices
- Identifying candidates for microservices
- Release cycle and the deployment process
- Summary
- Microservices Architecture
- Domain-driven design
- Bounded context
- Identifying bounded contexts
- Organizing around bounded contexts
- Components
- Hexagonal architecture
- Messaging and contracts
- Direct messaging
- Observer model
- Service contracts
- Service discovery
- Service registry
- Service discovery patterns
- Data management
- Direct lookup
- Asynchronous events
- Combining data
- Transactions
- Automated continuous deployment
- CI/CD
- Scaling
- Summary
- Microservices for Helping Hands Application
- Design
- Users and entities
- User stories
- Domain model
- Monolithic architecture
- Application components
- Deployment
- Limitations
- Moving to microservices
- Isolating services by persistence
- Isolating services by business logic
- Messaging and events
- Extensibility
- Workflows for Helping Hands
- Service provider workflow
- Service workflow
- Service consumer workflow
- Order workflow
- Summary
- Development Environment
- Clojure and REPL
- History of Clojure
- REPL
- Clojure build tools
- Leiningen
- Boot
- Clojure project
- Configuring a project
- Running a project
- Running tests
- Generating reports
- Generating artifacts
- Clojure IDE
- Summary
- REST APIs for Microservices
- Introducing REST
- RESTful APIs
- Status codes
- Naming conventions
- Using RESTful APIs via cURL
- REST APIs for Helping Hands
- Consumer and Provider APIs
- Service and Order APIs
- Summary
- Introduction to Pedestal
- Pedestal concepts
- Interceptors
- The interceptor chain
- Importance of a Context Map
- Creating a Pedestal service
- Using interceptors and handlers
- Creating routes
- Declaring routers
- Accessing request parameters
- Creating interceptors
- Handling errors and exceptions
- Logging
- Publishing operational metrics
- Using chain providers
- Using server-sent events (SSE)
- Creating interceptors for SSE
- Using WebSockets
- Using WebSocket with Pedestal and Jetty
- Summary
- Achieving Immutability with Datomic
- Datomic architecture
- Datomic versus traditional database
- Development model
- Data model
- Schema
- Using Datomic
- Getting started with Datomic
- Connecting to a database
- Transacting data
- Using Datalog to query
- Achieving immutability
- Deleting a database
- Summary
- Building Microservices for Helping Hands
- Implementing Hexagonal Architecture
- Designing the interceptor chain and context
- Creating a Pedestal project
- Defining generic interceptors
- Interceptor for Auth
- Interceptor for the data model
- Interceptor for events
- Creating a microservice for Service Consumer
- Adding routes
- Defining the Datomic schema
- Creating a persistence adapter
- Creating interceptors
- Testing routes
- Creating a microservice for Service Provider
- Adding routes
- Defining Datomic schema
- Creating a persistence adapter
- Creating interceptors
- Testing routes
- Creating a microservice for Services
- Adding routes
- Defining a Datomic schema
- Creating a persistence adapter
- Creating interceptors
- Testing routes
- Creating a microservice for Order
- Adding routes
- Defining Datomic schema
- Creating a persistence adapter
- Creating interceptors
- Testing routes
- Creating a microservice for Lookup
- Defining the Elasticsearch index
- Creating query interceptors
- Using geo queries
- Getting status with aggregation queries
- Creating a microservice for alerts
- Adding routes
- Creating an email interceptor using Postal
- Summary
- Configuring Microservices
- Configuration principles
- Defining configuration parameters
- Using configuration parameters
- Using Omniconf for configuration
- Enabling Omniconf
- Integrating with Helping Hands
- Managing application states with mount
- Enabling mount
- Integrating with Helping Hands
- Summary
- Event-Driven Patterns for Microservices
- Implementing event-driven patterns
- Event sourcing
- Using the CQRS pattern
- Introduction to Apache Kafka
- Design principles
- Getting Kafka
- Using Kafka as a messaging system
- Using Kafka as an event store
- Using Kafka for Helping Hands
- Using Kafka APIs
- Initializing Kafka with Mount
- Integrating the Alert Service with Kafka
- Using Avro for data transfer
- Summary
- Deploying and Monitoring Secured Microservices
- Enabling authentication and authorization
- Introducing Tokens and JWT
- Creating an Auth service for Helping Hands
- Using a Nimbus JOSE JWT library for Tokens
- Creating a secret key for JSON Web Encryption
- Creating Tokens
- Enabling users and roles for authorization
- Creating Auth APIs using Pedestal
- Monitoring microservices
- Using ELK Stack for monitoring
- Setting up Elasticsearch
- Setting up Kibana
- Setting up Logstash
- Using ELK Stack with Collectd
- Logging and monitoring guidelines
- Deploying microservices at scale
- Introducing Containers and Docker
- Setting up Docker
- Creating a Docker image for Helping Hands
- Introducing Kubernetes
- Getting started with Kubernetes
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-30 19:25:10