- Python Microservices Development
- Tarek Ziadé
- 290字
- 2021-07-02 18:54:17
Origins of Service-Oriented Architecture
There are many definitions out there, since there is no official standard for microservices. People often mention Service-Oriented Architecture (SOA) when they are trying to explain what microservices are.
Each unit in this preceding definition is a self-contained service, which implements one facet of a business, and provides its feature through some interface.
While SOA clearly states that services should be standalone processes, it does not enforce what protocols should be used for those processes to interact with each other, and stays quite vague about how you deploy and organize your application.
If you read the SOA Manifesto (http://www.soa-manifesto.org) that a handful of experts published on the web circa 2009, they don't even mention if the services interact via the network.
SOA services could communicate via Inter-Process Communication (IPC) using sockets on the same machine, through shared memory, through indirect message queues, or even with Remote Procedure Calls (RPC). The options are extensive, and at the end of the day, SOA can be everything and anything as long as you are not running all your application code into a single process.
However, it is common to say that microservices are one specialization of SOA, which have started to emerge over the last few years, because they fulfill some of the SOA goals which are to build apps with standalone components that interact with each other.
Now if we want to give a complete definition of what are microservices, the best way to do it is to first look at how most software are architectured.
- MySQL 8從入門到精通(視頻教學版)
- 從0到1:HTML+CSS快速上手
- Learning Informatica PowerCenter 10.x(Second Edition)
- Modular Programming in Java 9
- 快人一步:系統性能提高之道
- Unity 3D/2D移動開發實戰教程
- 深入理解C指針
- Learning Modular Java Programming
- Beginning C++ Game Programming
- SQL Server 2016 從入門到實戰(視頻教學版)
- C編程技巧:117個問題解決方案示例
- Java從入門到精通(視頻實戰版)
- Arduino Electronics Blueprints
- KnockoutJS Blueprints
- Mastering MeteorJS Application Development