Microservices system using Clojure

Machine Learning Technology Artificial Intelligence Technology Natural Language Processing Technology   Semantic Web Technology Search Technology DataBase Technology Ontology Technology Digital Transformation Technology User Interface and DataVisualization Workflow & Services Navigation of this blog Algorithm Clojure Microservice

Microservices system using Clojure

From Microservices with Clojure.

Microservices architecture is taking the world by storm as the de facto pattern for building scalable and easily maintained web-based applications. Here we will learn the general patterns and practices and show you how to apply them using the Clojure programming language. You will learn the basic concepts of architectural design and RESTful communication, and be introduced to patterns that provide manageable code that scales during development and in production. It also provides examples of how to put these concepts and patterns into practice in Clojure.
Whether you are planning a new application or working on an existing monolith, this book explains how teams of all sizes can start solving problems with microservices and illustrates with practical examples. You will understand the importance of writing asynchronous, non-blocking code and how Pedestal, Clojure’s web application framework, can help you do that. Then, we will explain how to build reactive microservices in Clojure that follow the principles underlying the Reactive Manifesto. Finally, we will introduce different techniques for monitoring, testing, and securing microservices and discuss how to configure, modify, and deploy microservices in Clojure and Pedestal.

Contents of this book
Chapter 1, “Comparing Monolithic and Microservices,” introduces monolithic and microservice architectures and discusses when and what to use. It also addresses possible transition plans when moving from monolithic applications to microservices.

Chapter 2, “Microservice Architecture,” describes the basic components of a microservice architecture and their associated functionality. It describes how to set up messaging and contracts and manage data flow between microservices.

Chapter 3, “Microservices for Mutual Aid Applications,” presents a sample mutual aid application and describes the steps for building an application using microservices in the remainder of this document. In addition, the chapter compares and contrasts the advantages of using a microservice-based architecture compared to a monolithic architecture.

Chapter 4, “Development Environment,” covers Clojure and REPLs at a high level and introduces the concepts of Leiningen and Boot, the two main build tools in a Clojure project. emphasis is placed on Leiningen, while Boot is discussed in terms of how to implement a microservice The focus will be on Leiningen, while Boot will provide a basic introduction on how to set up a Clojure project to implement microservices.

Chapter 5, “REST APIs for Microservices,” describes the basics of the REST architecture style, the various HTTP methods, what to use when, and how to give meaningful names to your microservice RESTful APIs. It also explains the naming conventions for REST APIs, using the Helping Hands application as an example.

Chapter 6, “Introduction to Pedestal,” details the Clojure Pedestal framework with all the related features provided by Pedestal, including interceptors and handlers, routes, WebSockets, server-sent events, and chain providers.

Chapter 7, “Achieving Immutability with Datomic,” provides an overview of the Datomic database along with its architecture, data model, transactions, and Datalog query language.

Chapter 8, “Building Microservices for Helping Hands,” provides a step-by-step hands-on guide to building and testing microservices for Helping Hands applications using the Pedestal framework.

Chapter 9, “Composing Microservices,” describes the basics of microservice composition and explains how to create configurable microservices using frameworks such as Omniconf. It also describes procedures for efficiently managing application state using available state management frameworks such as Mount.

Chapter 10, “Event-Driven Patterns for Microservices,” explains the basics of event-driven architecture and shows how to use Apache Kafka as a messaging system and event store. It also describes how to use Apache Kafka brokers and set up consumer groups to effectively tie microservices together.

Chapter 11, “Secure Microservice Deployment and Monitoring,” explains the basics of microservice authentication using JWT and how to set up a real-time monitoring system using the ELK Stack. Basic concepts of containers and orchestration frameworks such as Kubernetes will also be explained.

コメント

タイトルとURLをコピーしました