Here are 100 books that Microservice Patterns fans have personally recommended if you like
Microservice Patterns.
Shepherd is a community of 12,000+ authors and super readers sharing their favorite books with the world.
My passion for developing production-ready, cooperating microservices began in 2008 when I first started assisting customers in creating distributed systems—long before the term “microservices” was coined. During that time, I faced significant challenges, including grappling with the “Eight Fallacies of Distributed Computing”. Since then, I’ve dedicated most of my career to deepening my understanding of these complexities and finding ways to address them through robust architecture, design patterns, and the right tools.
Kubernetes is the go-to tool for orchestrating a landscape of cooperating microservices, making it a crucial skill to master.
This book guided me through Kubernetes, from the basics, such as pods, services, and deployments, to more advanced topics, like its inner workings and auto-scaling resources. What I particularly appreciate is the balance between theory and practical examples, reinforced by exercises with GitHub-hosted source code, which I also found helpful as a starting point for building real-world applications.
With Kubernetes, users don't have to worry about which specific machine in their data center their application is running on. Each layer in their application is decoupled from other layers so they can scale, update, and maintain them independently.
Kubernetes in Action teaches developers how to use Kubernetes to deploy self-healing scalable distributed applications. By the end, readers will be able to build and deploy applications in a proper way to take full advantage of the Kubernetes platform.
It is April 1st, 2038. Day 60 of China's blockade of the rebel island of Taiwan.
The US government has agreed to provide Taiwan with a weapons system so advanced that it can disrupt the balance of power in the region. But what pilot would be crazy enough to run…
My passion for computer science started while spending my free time gaming in my young adult days, leading me to experiment with C++ and then dive into enterprise-level Java applications during high school. My enthusiasm for Java propelled me to teach and share my knowledge through Java and Spring tutorials on YouTube. I also frequent conferences where I exchange ideas on various software topics. My constant wish to contribute further to the community is filled by writing technical books. This mix of teaching, creating, and constant learning fuels me and pushes me further into the tech world. I really hope you will enjoy this selection of technical books!
Mastering a tool like Hibernate is essential when dealing with Spring Boot and databases, as it can simplify the development process if used correctly.
I was particularly impressed by how the authors tackled complex concepts like caching, lazy loading, and transaction management, making them accessible and relatable to persons with zero to no experience, and also making sure that someone with experience does not get bored either.
I found that managing entities correctly and knowing how to deal with JPQL automatically results in a cleaner, more scalable, and performant code base.
Persistence-the ability of data to outlive an instance of a program-is central to modern applications. Hibernate, the most popular provider of the Java Persistence standard, offers automatic and transparent object/relational mapping, making it a snap to work with SQL databases in Java applications.
Java Persistence with Hibernate, Second Edition explores Hibernate by developing an application that ties together hundreds of individual examples. It digs into the rich programming model of Hibernate, working through mappings, queries, fetching strategies, transactions, conversations, caching, and more and provides a well-illustrated discussion of best practices in database design and optimization techniques. This revised edition…
My passion for computer science started while spending my free time gaming in my young adult days, leading me to experiment with C++ and then dive into enterprise-level Java applications during high school. My enthusiasm for Java propelled me to teach and share my knowledge through Java and Spring tutorials on YouTube. I also frequent conferences where I exchange ideas on various software topics. My constant wish to contribute further to the community is filled by writing technical books. This mix of teaching, creating, and constant learning fuels me and pushes me further into the tech world. I really hope you will enjoy this selection of technical books!
Docker is the technology that works perfectly along with Kubernetes, and I believe that in such a fast-paced development environment, applications do not need to depend on the machine that they are running on.
What truly stood out for me was the exploration of Docker's features like images, networks, containers, and volumes, and how these elements create a consistent environment for applications to run. This consistency is key in eliminating the "well, it works on my machine" problem, making our lives easier and our work more portable.
The idea behind Docker is simple. Create a tiny virtual environment called a container that holds just your application and its dependencies. The Docker engine uses the host operating system to keep track of your containers. Applications running inside containers share resources, making their footprints small. They are easy to install, manage, and remove. Docker in Action, Second Edition teaches you to create, deploy, and manage applications hosted in Docker containers running on Linux. Fully updated, with four new chapters and revised best practices and examples, this second edition begins with a clear explanation of the Docker model. Then, you…
A Duke with rigid opinions, a Lady whose beliefs conflict with his, a long disputed parcel of land, a conniving neighbour, a desperate collaboration, a failure of trust, a love found despite it all.
Alexander Cavendish, Duke of Ravensworth, returned from war to find that his father and brother had…
My passion for computer science started while spending my free time gaming in my young adult days, leading me to experiment with C++ and then dive into enterprise-level Java applications during high school. My enthusiasm for Java propelled me to teach and share my knowledge through Java and Spring tutorials on YouTube. I also frequent conferences where I exchange ideas on various software topics. My constant wish to contribute further to the community is filled by writing technical books. This mix of teaching, creating, and constant learning fuels me and pushes me further into the tech world. I really hope you will enjoy this selection of technical books!
This is another amazing book that offers a fresh view of microservice architecture and its benefits and challenges.
Besides advice on designing and managing microservices for large-scale Java applications, the part that stuck out to me the most was the deep dive into cloud-native development and the "Just enough Application Server (JeAS)" approach.
Any book that makes me rethink and improve my strategies for building resilient and robust apps is a gem.
Microservices break down a large application into smaller components, each interacting with each other to create a united whole. As each component can start, stop, and scale independently, so the whole system benefits from better fault-tolerance and resilience.
Enterprise Java Microservices is an example-rich tutorial that shows readers how to design and manage large-scale Java applications as a collection of microservices.
Key features
* The microservices mental model
* Fault tolerance with Netflix Hystrix
* Securing your microservices
* Deploying to the cloud
Audience
This book is for Java developers familiar with distributed n-tier application architecture.
I love computer programming books almost as much as I love computer programming. As a high school student in 1980 I remember typing in really frustrating source code from the book BASIC Computer Games. Was programming meant to be a black art? Was code supposed to be an impenetrable mess of buried intent? When I started getting paid to program, I was happy to see that the answer to both questions was "no." I began to seek and enjoy books that espoused the "right" way to code in a given language. Here is a handful of books that have helped me and countless others learn to produce correct, clear, and maintainable code.
When seeking a book on how to use a language effectively, getting one written by someone who helped design and implement the language is usually a great idea. With Effective Java, you get a book written by someone who contributed a significant amount to the language: Joshua Bloch had a lot to do with the design of the Java 5.0 features circa 2004, which is where Java moved for me from "inelegant" to "hey I can finally make things look good in this language." Bloch goes into considerable and passionate depth about each of the 90 items in the 2018 edition and will help you ensure you don't make the mistakes that can lead to defective or bad code.
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed dramatically. Java 7 and Java 8 introduced new features and functions including, forEach() method in Iterable interface, default and static methods in Interfaces, Functional Interfaces and Lambda Expressions, Java Stream API for Bulk Data Operations on Collections, Java Time API, Collection API improvements, Concurrency API improvements, and Java IO improvements.
In this new edition of Effective Java, Bloch explores new design patterns and language idioms that have been introduced since the second edition was released in 2008 shortly after Java SE6, including Lambda, streams,…
My life has been about programming for as long as I can remember. Learning to code was a way to connect with my dad and express my creativity at a young age. Since I grew up with code, it became the way I understood the world; often I could look at a process or program and immediately see its source code in my mind. I developed a very strong sense of aesthetics searching for “perfect code,” which for me was code that was not only error-free but resistant to errors. My studies, research, and career is about moving myself and all programmers closer to that goal: Software that never fails.
This tour of programming is a humorous reminder that we should always question our assumptions.
This book presents example after example of very simple Java programs all of which behave differently than you expect. It's both humbling and so provocative that you have to go into an editor and see if their claims are true.
"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles."
--Guy Steele, Sun Fellow and coauthor of The Java (TM) Language Specification
"I laughed, I cried, I threw up (my hands in admiration)."
--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group
How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for…
The Duke's Christmas Redemption
by
Arietta Richmond,
A Duke who has rejected love, a Lady who dreams of a love match, an arranged marriage, a house full of secrets, a most unneighborly neighbor, a plot to destroy reputations, an unexpected love that redeems it all.
Lady Charlotte Wyndham, given in an arranged marriage to a man she…
I worked in Indonesia much of the time between 1979 and 2009, with people living in forests. As an anthropologist, my work was initially ethnographic in nature, later linking such insights to policies relating to forests and people – as I worked at the Center for International Forestry Research in Bogor (1995 – the present). Although later in my career, I worked in forests all over the tropics, my real love remains with Indonesia, where I worked the longest and learned the most. My most recent research was in 2019, when I returned to the first community I studied ethnographically in 1979-80.
Although I have done very little ethnographic research in Java, I worked closely with Javanese transmigrants in West Sumatra. Peluso’s book provided me with additional understanding of the world from which these folks were likely to have come. It also provided useful historical and contemporary material on Indonesian policies relating to forests that were very useful for me to know. The book has become a classic in the field!
Millions of Javanese peasants live alongside state-controlled forest lands in one of the world's most densely populated agricultural regions. Because their legal access and customary rights to the forest have been severely limited, these peasants have been pushed toward illegal use of forest resources. Rich Forests, Poor People untangles the complex of peasant and state politics that has developed in Java over three centuries. Drawing on historical materials and intensive field research, including two contemporary case studies, Peluso presents the story of the forest and its people. Without major changes in forest policy, Peluso contends, the situation is portentous. Economic,…
I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.
By contrast to my previous 20-year-old book recommendation, this one is brand new.
When I was learning Java, we used the (now classic) “Gang of Four” book for Patterns. For design patterns, language syntax does matter. Miro covers the Gang of Four patterns and new ones using the same categories – creational, structural, and behavioral.
Miro also adds concurrency and anti-patterns which weren’t in the original GoF. I like that he includes review questions. This is very key info to know and mastering it with a modern book is very useful. Plus Miro includes examples of that pattern in the JDK itself.
Unravel the power of Java design patterns by learning where to apply them effectively to solve specific software design and development problems
Key Features
Decouple logic across objects with dependency injection by creating various vehicles with features
Finalize vehicle construction by chaining handlers using the Chain of Responsibility Pattern
Plan and execute an advanced vehicle sensor initiation with the Scheduler PatternBook Description
Design patterns are proven solutions to standard problems in software design and development, allowing you to create reusable, flexible, and maintainable code. This book enables you to upskill by understanding popular patterns to evolve into a proficient software…
I’ve always enjoyed mentoring folks whether new or experienced in programming. Whether it is teaching an intern or a high school robotics student, or onboarding an experienced Java developer, it brings me joy to see people learn. I also love to read. Being able to recommend some of my favorite books can help even more people absorb all of this information.
When trying to become a better Java developer, there is so much to learn.
97 Things covers, well 97, of them in a series of brief essays. What’s cool is that the essays were written by different people so you get lots of points of view on what is important. Topics range from language (comments, fat jars) to the ecosystem (benchmarking, frequent releases) to the language-agnostic (definition of done and breaking down problems.)
Note that two of these are mine. The book is thin at just over 200 pieces. And since each “thing” is short, it’s easy to read on the go.
If you want to push your Java skills to the next level, this book provides expert advice from Java leaders and practitioners. You'll be encouraged to look at problems in new ways, take broader responsibility for your work, stretch yourself by learning new techniques, and become as good at the entire craft of development as you possibly can
Edited by Kevlin Henney and Trisha Gee, 97 Things Every Java Programmer Should Know reflects lifetimes of experience writing Java software and living with the process of software development. Great programmers share their collected wisdom to help you rethink Java practices, whether…
This book follows the journey of a writer in search of wisdom as he narrates encounters with 12 distinguished American men over 80, including Paul Volcker, the former head of the Federal Reserve, and Denton Cooley, the world’s most famous heart surgeon.
In these and other intimate conversations, the book…
My passion for developing production-ready, cooperating microservices began in 2008 when I first started assisting customers in creating distributed systems—long before the term “microservices” was coined. During that time, I faced significant challenges, including grappling with the “Eight Fallacies of Distributed Computing”. Since then, I’ve dedicated most of my career to deepening my understanding of these complexities and finding ways to address them through robust architecture, design patterns, and the right tools.
A common reason for microservice projects to fail is a lack of understanding of how to build resilient and fault-tolerant microservices.
This book was a game-changer for me, providing essential strategies to address these challenges. It taught me how to avoid anti-patterns like Cascading Failures and embrace patterns like Circuit Breaker and Bulkhead to manage temporary network issues and overload situations. The real-world solutions it offers were immediately applicable to my projects.
A single dramatic software failure can cost a company millions of dollars - but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems. If you're a software developer, and you don't want to get alerts every night for the rest of your…