Microservices with Clojure :: develop event-driven, scalable, and reactive microservices with real-time monitoring /
The Microservice architecture is sweeping the world as the de facto pattern from which to build web-based applications and aids in designing scalable, easy-to-maintain web applications. This book will teach you common patterns and practices, showing you how to apply these using the Clojure programmi...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, UK :
Packt Publishing,
2018.
|
Schlagworte: | |
Online-Zugang: | DE-862 DE-863 |
Zusammenfassung: | The Microservice architecture is sweeping the world as the de facto pattern from which to build web-based applications and aids in designing scalable, easy-to-maintain web applications. This book will teach you common patterns and practices, showing you how to apply these using the Clojure programming language. |
Beschreibung: | 1 online resource (1 volume) : illustrations |
ISBN: | 9781788626316 1788626311 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1023864106 | ||
003 | OCoLC | ||
005 | 20250103110447.0 | ||
006 | m o d | ||
007 | cr unu|||||||| | ||
008 | 180222s2018 enka o 000 0 eng d | ||
040 | |a UMI |b eng |e rda |e pn |c UMI |d STF |d TOH |d OCLCF |d YDX |d CEF |d KSU |d DEBBG |d TEFOD |d G3B |d S9I |d UAB |d N$T |d AU@ |d OCL |d OCLCQ |d OCLCO |d NZAUC |d OCLCQ |d OCLCO |d OCLCL |d SFB | ||
019 | |a 1022210152 | ||
020 | |a 9781788626316 |q (electronic bk.) | ||
020 | |a 1788626311 |q (electronic bk.) | ||
020 | |z 9781788622240 | ||
020 | |z 1788622243 | ||
035 | |a (OCoLC)1023864106 |z (OCoLC)1022210152 | ||
037 | |a CL0500000941 |b Safari Books Online | ||
037 | |a 681E42BC-7CD1-451B-AEF6-DD60AE29610D |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.76.A65 | |
072 | 7 | |a COM |x 051230 |2 bisacsh | |
082 | 7 | |a 005.133 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Kumar, Anuj, |e author. | |
245 | 1 | 0 | |a Microservices with Clojure : |b develop event-driven, scalable, and reactive microservices with real-time monitoring / |c Anuj Kumar. |
264 | 1 | |a Birmingham, UK : |b Packt Publishing, |c 2018. | |
300 | |a 1 online resource (1 volume) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
588 | 0 | |a Online resource; title from PDF title page (EBSCO, viewed April 11, 2019) | |
505 | 0 | |a Cover -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: 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 -- Chapter 2: 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 -- Chapter 3: 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 -- Chapter 4: 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 -- Chapter 5: REST APIs for Microservices -- Introducing REST -- RESTful APIs -- Status codes -- Naming conventions -- Using RESTful APIs via cURL -- REST APIs for Helping Hands. | |
505 | 8 | |a Consumer and Provider APIs -- Service and Order APIs -- Summary -- Chapter 6: 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 -- Chapter 7: 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 -- Chapter 8: 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. | |
505 | 8 | |a 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 -- Chapter 9: 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 -- Chapter 10: 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 -- Chapter 11: 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. | |
505 | 8 | |a Other Books You May Enjoy -- Index. | |
520 | |a The Microservice architecture is sweeping the world as the de facto pattern from which to build web-based applications and aids in designing scalable, easy-to-maintain web applications. This book will teach you common patterns and practices, showing you how to apply these using the Clojure programming language. | ||
650 | 0 | |a Application software |x Development. |0 http://id.loc.gov/authorities/subjects/sh95009362 | |
650 | 0 | |a Web applications |x Design. | |
650 | 0 | |a Clojure (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh2011003332 | |
650 | 6 | |a Logiciels d'application |x Développement. | |
650 | 6 | |a Clojure (Langage de programmation) | |
650 | 7 | |a Computer programming |x software development. |2 bicssc | |
650 | 7 | |a Web services. |2 bicssc | |
650 | 7 | |a Programming & scripting languages: general. |2 bicssc | |
650 | 7 | |a COMPUTERS |x Software Development & Engineering |x General. |2 bisacsh | |
650 | 7 | |a Application software |x Development |2 fast | |
650 | 7 | |a Clojure (Computer program language) |2 fast | |
758 | |i has work: |a MICROSERVICES WITH CLOJURE (Text) |1 https://id.oclc.org/worldcat/entity/E39PCXDy73BH3x4TbDMpfq8bJP |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
966 | 4 | 0 | |l DE-862 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699219 |3 Volltext |
966 | 4 | 0 | |l DE-863 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699219 |3 Volltext |
938 | |a EBSCOhost |b EBSC |n 1699219 | ||
938 | |a YBP Library Services |b YANK |n 15132147 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-862 | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1023864106 |
---|---|
_version_ | 1829095131194589184 |
adam_text | |
any_adam_object | |
author | Kumar, Anuj |
author_facet | Kumar, Anuj |
author_role | aut |
author_sort | Kumar, Anuj |
author_variant | a k ak |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.A65 |
callnumber-search | QA76.76.A65 |
callnumber-sort | QA 276.76 A65 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: 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 -- Chapter 2: 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 -- Chapter 3: 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 -- Chapter 4: 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 -- Chapter 5: 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 -- Chapter 6: 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 -- Chapter 7: 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 -- Chapter 8: 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 -- Chapter 9: 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 -- Chapter 10: 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 -- Chapter 11: 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 -- Index. |
ctrlnum | (OCoLC)1023864106 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>08563cam a2200601 i 4500</leader><controlfield tag="001">ZDB-4-EBA-on1023864106</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20250103110447.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr unu||||||||</controlfield><controlfield tag="008">180222s2018 enka o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UMI</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UMI</subfield><subfield code="d">STF</subfield><subfield code="d">TOH</subfield><subfield code="d">OCLCF</subfield><subfield code="d">YDX</subfield><subfield code="d">CEF</subfield><subfield code="d">KSU</subfield><subfield code="d">DEBBG</subfield><subfield code="d">TEFOD</subfield><subfield code="d">G3B</subfield><subfield code="d">S9I</subfield><subfield code="d">UAB</subfield><subfield code="d">N$T</subfield><subfield code="d">AU@</subfield><subfield code="d">OCL</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">NZAUC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">SFB</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">1022210152</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788626316</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788626311</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781788622240</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">1788622243</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1023864106</subfield><subfield code="z">(OCoLC)1022210152</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000941</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">681E42BC-7CD1-451B-AEF6-DD60AE29610D</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.76.A65</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051230</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Kumar, Anuj,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Microservices with Clojure :</subfield><subfield code="b">develop event-driven, scalable, and reactive microservices with real-time monitoring /</subfield><subfield code="c">Anuj Kumar.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham, UK :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2018.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (1 volume) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Online resource; title from PDF title page (EBSCO, viewed April 11, 2019)</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: 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 -- Chapter 2: 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 -- Chapter 3: 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 -- Chapter 4: 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 -- Chapter 5: REST APIs for Microservices -- Introducing REST -- RESTful APIs -- Status codes -- Naming conventions -- Using RESTful APIs via cURL -- REST APIs for Helping Hands.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Consumer and Provider APIs -- Service and Order APIs -- Summary -- Chapter 6: 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 -- Chapter 7: 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 -- Chapter 8: 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.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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 -- Chapter 9: 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 -- Chapter 10: 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 -- Chapter 11: 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.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Other Books You May Enjoy -- Index.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">The Microservice architecture is sweeping the world as the de facto pattern from which to build web-based applications and aids in designing scalable, easy-to-maintain web applications. This book will teach you common patterns and practices, showing you how to apply these using the Clojure programming language.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Application software</subfield><subfield code="x">Development.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh95009362</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Web applications</subfield><subfield code="x">Design.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Clojure (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2011003332</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Logiciels d'application</subfield><subfield code="x">Développement.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Clojure (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Computer programming</subfield><subfield code="x">software development.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Web services.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programming & scripting languages: general.</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Software Development & Engineering</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Application software</subfield><subfield code="x">Development</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Clojure (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">MICROSERVICES WITH CLOJURE (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCXDy73BH3x4TbDMpfq8bJP</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-862</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699219</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-863</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699219</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1699219</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">15132147</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-862</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1023864106 |
illustrated | Illustrated |
indexdate | 2025-04-11T08:44:08Z |
institution | BVB |
isbn | 9781788626316 1788626311 |
language | English |
oclc_num | 1023864106 |
open_access_boolean | |
owner | MAIN DE-862 DE-BY-FWS DE-863 DE-BY-FWS |
owner_facet | MAIN DE-862 DE-BY-FWS DE-863 DE-BY-FWS |
physical | 1 online resource (1 volume) : illustrations |
psigel | ZDB-4-EBA FWS_PDA_EBA ZDB-4-EBA |
publishDate | 2018 |
publishDateSearch | 2018 |
publishDateSort | 2018 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Kumar, Anuj, author. Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / Anuj Kumar. Birmingham, UK : Packt Publishing, 2018. 1 online resource (1 volume) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier Online resource; title from PDF title page (EBSCO, viewed April 11, 2019) Cover -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: 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 -- Chapter 2: 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 -- Chapter 3: 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 -- Chapter 4: 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 -- Chapter 5: 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 -- Chapter 6: 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 -- Chapter 7: 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 -- Chapter 8: 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 -- Chapter 9: 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 -- Chapter 10: 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 -- Chapter 11: 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 -- Index. The Microservice architecture is sweeping the world as the de facto pattern from which to build web-based applications and aids in designing scalable, easy-to-maintain web applications. This book will teach you common patterns and practices, showing you how to apply these using the Clojure programming language. Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Web applications Design. Clojure (Computer program language) http://id.loc.gov/authorities/subjects/sh2011003332 Logiciels d'application Développement. Clojure (Langage de programmation) Computer programming software development. bicssc Web services. bicssc Programming & scripting languages: general. bicssc COMPUTERS Software Development & Engineering General. bisacsh Application software Development fast Clojure (Computer program language) fast has work: MICROSERVICES WITH CLOJURE (Text) https://id.oclc.org/worldcat/entity/E39PCXDy73BH3x4TbDMpfq8bJP https://id.oclc.org/worldcat/ontology/hasWork |
spellingShingle | Kumar, Anuj Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / Cover -- Copyright and Credits -- Dedication -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: 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 -- Chapter 2: 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 -- Chapter 3: 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 -- Chapter 4: 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 -- Chapter 5: 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 -- Chapter 6: 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 -- Chapter 7: 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 -- Chapter 8: 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 -- Chapter 9: 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 -- Chapter 10: 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 -- Chapter 11: 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 -- Index. Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Web applications Design. Clojure (Computer program language) http://id.loc.gov/authorities/subjects/sh2011003332 Logiciels d'application Développement. Clojure (Langage de programmation) Computer programming software development. bicssc Web services. bicssc Programming & scripting languages: general. bicssc COMPUTERS Software Development & Engineering General. bisacsh Application software Development fast Clojure (Computer program language) fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh95009362 http://id.loc.gov/authorities/subjects/sh2011003332 |
title | Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / |
title_auth | Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / |
title_exact_search | Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / |
title_full | Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / Anuj Kumar. |
title_fullStr | Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / Anuj Kumar. |
title_full_unstemmed | Microservices with Clojure : develop event-driven, scalable, and reactive microservices with real-time monitoring / Anuj Kumar. |
title_short | Microservices with Clojure : |
title_sort | microservices with clojure develop event driven scalable and reactive microservices with real time monitoring |
title_sub | develop event-driven, scalable, and reactive microservices with real-time monitoring / |
topic | Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Web applications Design. Clojure (Computer program language) http://id.loc.gov/authorities/subjects/sh2011003332 Logiciels d'application Développement. Clojure (Langage de programmation) Computer programming software development. bicssc Web services. bicssc Programming & scripting languages: general. bicssc COMPUTERS Software Development & Engineering General. bisacsh Application software Development fast Clojure (Computer program language) fast |
topic_facet | Application software Development. Web applications Design. Clojure (Computer program language) Logiciels d'application Développement. Clojure (Langage de programmation) Computer programming software development. Web services. Programming & scripting languages: general. COMPUTERS Software Development & Engineering General. Application software Development |
work_keys_str_mv | AT kumaranuj microserviceswithclojuredevelopeventdrivenscalableandreactivemicroserviceswithrealtimemonitoring |