- Java EE 8 and Angular
- Prashant Padmanabhan
- 435字
- 2021-07-02 19:22:36
Understanding Microservices
The world of software is an ever-changing one, and within it there is an ever-increasing need for faster deliveries. With businesses trying to reduce time-to-market for each application, the onus of meeting such demands is with the engineering team, who also need to maintain a balance between quality and speed.
There are many useful principles and patterns defined in the software ecosystem that help meet these business needs to some extent. However, as neither business needs nor systems remain constant, architectures must evolve as well to address these challenges. Maintaining the competitive edge is vital for the survival of any business. Microservices have been grabbing points for delivering software that meets these modern-day demands. It’s also a unique architectural pattern, as it makes development and operations (DevOps) part of its architecture. In the sections that follow, we will build an understanding of what microservices mean and how Java EE developers and architects can leverage this new paradigm using their enterprise Java skills.
Here are two definitions of microservices:
"Microservices are a loosely-coupled service-oriented architecture with bounded context."
– Adrian Cockroft (cloud architect at Netflix)
"Small autonomous services, that work together, modelled around a business domain."
– Used by Sam Newman (author of Building Microservices)
Microservices is a term that has been around for a while but has gained momentum only in recent years. This is an architectural style that can be considered as a variant or specialisation of service-oriented-architecture (SOA). It's an architecture that talks about how to go about building complex systems composed of fine grained services. There are many theories and books published on this subject, concerning why you should be doing it or why you shouldn't be. This is the only chapter of this book that will focus on the concepts of microservices; the rest of the book will focus on the how-to.
Companies delivering large scale web solutions such as Netflix, Amazon, and eBay have adopted the microservices way and have been successful in implementing it. It's worth noting that these companies didn't start with this architectural style; instead, they had to carefully carve out their microservices from their monolith applications. Before we grab our sculpting tools, let's understand the problems we are trying to solve using this approach. Let's consider the differences between approaches by first considering a traditional monolithic application and then seeing how a microservice-based architecture solves some of the shortcomings of the former.
What we will cover:
- Traditional monoliths
- Multiple small units of work
- Single responsibility
- The need for REST
- Scale only what needs to scale
- The bad parts, yes, there are few
- Advanced Machine Learning with Python
- Machine Learning with R Cookbook(Second Edition)
- Learning Elixir
- OpenCV for Secret Agents
- C/C++常用算法手冊(第3版)
- SpringBoot從零開始學(視頻教學版)
- Learning Splunk Web Framework
- PHP 8從入門到精通(視頻教學版)
- Tkinter GUI Programming by Example
- 編譯原理學習與實踐指導
- Scratch編程入門與算法進階(第2版)
- Getting Started with SQL Server 2014 Administration
- Java入門經典
- 小學生Python創意編程(視頻教學版)
- Advanced Analytics with R and Tableau