官术网_书友最值得收藏!

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
主站蜘蛛池模板: 黎川县| 浮梁县| 游戏| 天峻县| 凌源市| 普兰县| 开鲁县| 新乡县| 贵定县| 南投市| 广饶县| 道孚县| 墨脱县| 雷波县| 噶尔县| 大足县| 道孚县| 罗田县| 汝州市| 辰溪县| 即墨市| 南平市| 沿河| 洛南县| 仁寿县| 海宁市| 琼中| 桂阳县| 阜新市| 民勤县| 临湘市| 嵊泗县| 化德县| 鄂州市| 长岭县| 阳新县| 永顺县| 门源| 汤阴县| 临汾市| 贺州市|