舉報

會員
Microservices with Clojure
YoushouldhaveaworkingknowledgeofprogramminginClojure.However,noknowledgeofRESTfularchitecture,microservices,orwebservicesisexpected.Ifyouarelookingtoapplytechniquestoyourownprojects,takingyourfirststepsintomicroservicearchitecture,thisbookisforyou.
目錄(222章)
倒序
- 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
推薦閱讀
- 網絡協議工程
- INSTANT PhpStorm Starter
- WordPress 5 Complete
- 面向云平臺的物聯網多源異構信息融合方法
- 物聯網安全技術
- 計算機網絡原理與應用技術
- 數字調制解調技術的MATLAB與FPGA實現:Altera/Verilog版(第2版)
- 物聯網長距離無線通信技術應用與開發
- 通信原理及MATLAB/Simulink仿真
- 2小時讀懂物聯網
- 端到端QoS網絡設計
- 紅藍攻防:構建實戰化網絡安全防御體系
- 網絡AI+:2030后的未來網絡
- 設備監控技術詳解
- 沖擊:5G如何改變世界
- 云工廠:開啟中國制造云時代
- 數字王國里的虛擬人:技術、商業與法律解讀
- 工業以太網技術:AFDX/TTE網絡原理、接口、互連與安全
- 視聽變革:廣電的新媒體戰略
- Twilio Cookbook(Second Edition)
- 互聯網心理學:新心理與行為研究的興起
- Citrix XenDesktop 5.6 Cookbook
- 華為HCIP路由與交換技術實戰
- VMware vSphere企業級網絡和存儲實戰
- ECMAScript Cookbook
- Beginning API Development with Node.js
- Learn Web Development with Python
- 物聯網系統開發:從0到1構建IoT平臺
- 不可錯過的互聯網
- INSTANT Google Map Maker Starter