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

SOA versus microservices

Now that we have a good understanding of both, we will compare the SOA and microservices architectures. In terms of the communication itself, both SOA and microservices can use synchronous and asynchronous communication. SOA typically relied on Simple Object Access Protocol (SOAP) or web services. Microservices tend to be more modern and widely use REpresentational State Transfer (RESTApplication Programming Interfaces (APIs).

We will start with the following diagram, which compares SOA and microservices:

The orchestration is where there's a big differentiation. In SOA, everything is centralized around a BPM, ESB, or some kind of middleware. All the integration between services and data flowing is controlled centrally. This allows you to configure any changes in one place, which has some advantages.

The microservices approach has been to use a more choreography-based approach. This is where an individual service is smarter, that is, a smart endpoint but a dumb pipeline. That means that the services know exactly who to call and what data they will get back, and they manage that process within the microservice. This gives us more flexibility in terms of the integration for microservices. In the SOA world or the three-tier architecture, there's less flexibility as it's usually a single code base and the integration is a large set of monolith releases and deployments of user interface or backend services. This can limit the flexibility of your enterprise. For microservices, however, these systems are much smaller and can be deployed in isolation and much more fine-grained.

Finally, on the architecture side, SOA works at the enterprise level, where we would have an enterprise architect or solutions architect model and control the release of all the services in a central repository. Microservices are much more flexible. Microservices talked about working at the project level where they say the team is only composed of a number of developers or a very small number of developers that could sit around and share a pizza. So, this gives you much more flexibility to make decisions rapidly at the project level, rather than having to get everything agreed at the enterprise level.

主站蜘蛛池模板: 闻喜县| 安多县| 隆林| 邹平县| 余姚市| 彭州市| 新丰县| 石楼县| 平江县| 青浦区| 上虞市| 溧阳市| 广平县| 木兰县| 布拖县| 三都| 北安市| 舞阳县| 都江堰市| 常德市| 南皮县| 通山县| 孟津县| 平安县| 象州县| 甘德县| 阳原县| 凌源市| 鹰潭市| 秦皇岛市| 呼玛县| 内黄县| 竹北市| 抚宁县| 米泉市| 武汉市| 鸡西市| 莱州市| 阳高县| 库尔勒市| 安岳县|