- Mastering Microservices with Java
- Sourabh Sharma
- 337字
- 2021-07-02 13:03:26
Services and SOA
Martin Fowler explains the following:
Let's get some background on the way microservices have evolved over the years. Enterprise architecture evolved from historic mainframe computing, through client-server architecture (two-tier to n-tier), to SOA.
The transformation from SOA to microservices is not a standard defined by an industry organization, but a practical approach practiced by many organizations. SOA eventually evolved to become microservices.
Adrian Cockcroft, a former Netflix architect, describes a microservice-based architecture as follows:
Similarly, the following quote from Mike Gancarz, a member who designed the X Windows system, which defines one of the paramount precepts of Unix philosophy, describes the microservice paradigm as well:
Microservice architectures share many common characteristics with SOAs, such as the focus on services and how one service decouples from another. SOA evolved around monolithic application integration by exposing APIs that were mostly Simple Object Access Protocol (SOAP)-based. Therefore, having middleware such as an enterprise service bus (ESB) is very important for SOA. Microservices are less complex than SOAs, and, even though they may use a message bus, it is only used for message transport and it does not contain any logic. It is simply based on smart endpoints.
Tony Pujals defined microservices beautifully:
Though Tony only talks about HTTP, event-driven microservices may use a different protocol for communication. You can make use of Kafka to implement event-driven microservices. Kafka uses the wire protocol, a binary protocol over TCP.
- AngularJS入門與進(jìn)階
- 區(qū)塊鏈架構(gòu)與實(shí)現(xiàn):Cosmos詳解
- PHP+MySQL網(wǎng)站開發(fā)技術(shù)項(xiàng)目式教程(第2版)
- RTC程序設(shè)計(jì):實(shí)時(shí)音視頻權(quán)威指南
- 編寫高質(zhì)量代碼:改善C程序代碼的125個(gè)建議
- Linux網(wǎng)絡(luò)程序設(shè)計(jì):基于龍芯平臺(tái)
- Python王者歸來
- Lua程序設(shè)計(jì)(第4版)
- Getting Started with NativeScript
- Couchbase Essentials
- Web開發(fā)新體驗(yàn)
- Learning NHibernate 4
- Unity虛擬現(xiàn)實(shí)開發(fā)圣典
- Ajax與jQuery程序設(shè)計(jì)
- 機(jī)器學(xué)習(xí)開發(fā)者指南