Book Image

Microservices with Clojure

By : Anuj Kumar
Book Image

Microservices with Clojure

By: Anuj Kumar

Overview of this book

The microservice architecture is sweeping the world as the de facto pattern with which to design and build scalable, easy-tomaintain web applications. This book will teach you common patterns and practices, and will show you how to apply these using the Clojure programming language. This book will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples of how to put these concepts and patterns into practice with Clojure. This book will explain and illustrate, with practical examples, how teams of all sizes can start solving problems with microservices. You will learn the importance of writing code that is asynchronous and non-blocking and how Pedestal helps us do this. Later, the book explains how to build Reactive microservices in Clojure that adhere to the principles underlying the Reactive Manifesto. We finish off by showing you various ways to monitor, test, and secure your microservices. By the end, you will be fully capable of setting up, modifying, and deploying a microservice with Clojure and Pedestal.
Table of Contents (18 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Creating a Pedestal service


Pedestal provides a Leiningen (https://leiningen.org/) template named pedestal-service to create a new project with the required dependencies and directory layout for a Pedestal service. To create a new project using the template, use the lein command with the template name and a project name as shown here:

# Create a new project 'pedestal-play' with template 'pedestal-service'
% lein new pedestal-service pedestal-play
Retrieving pedestal-service/lein-template/0.5.3/lein-template-0.5.3.pom from clojars
Retrieving pedestal-service/lein-template/0.5.3/lein-template-0.5.3.jar from clojars
Generating a pedestal-service application called pedestal-play.

The lein command will create a new directory with the specified project name and add all the required dependencies to the project.clj file. It will also initialize the server.clj and service.clj files with the code template for a sample Pedestal service. The created project directory tree should look like the one shown...