JAVA全系列 教程
3762个小节阅读:7088.7k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
微服务架构与SOA
微服务架构可以说是SOA架构的扩展,这种架构下拆分粒度更小,服务更独立,把应用拆分一个个微小的服务,微服务的关键在于微小、独立、轻量级通信。
微服务架构与SOA架构一个区别是拆分粒度不同,可以说微服务是细粒度的SOA。微服务与SOA之间的另一个不同之处是服务互联和编写服务时所使用的技术。J2EE是一个遵循企业级标准的用于编写SOA架构的技术栈。java命名与目录接口(JNDI)、企业级Javabean(EJB)以及企业服务总线(ESB)都是SOA应用赖以构建和维护的生态土壤。但现在很少听说ESB了,至于用过它的人更是少之又少。
微服务推崇执行的标准(例如HTTP)却是人们广泛了解并共同使用的。
SOA | 微服务架构 |
---|---|
应用程序服务的可重用性的最大化 | 专注于解耦 |
系统性的改变需要修改整体 | 系统性的改变是创建一个新的服务 |
DevOps和持续交付正在变得流行,但还不是主流 | 强烈关注DevOps和持续交付 |
专注于业务功能重用 | 更重视“上下文边界”的概念 |
通信使用企业服务总线ESB | 对于通信而言,使用较少精细和简单的消息系统 |
支持多种消息协议 | 使用轻量级协议,例如HTTP,REST或Thirift API |
对部署到它的所有服务使用通用平台 | 应用程序服务器不是真的被使用,通常使用云平台 |
容器(如Docker)的使用不太受欢迎 | 容器在微服务方面效果很好 |
SOA服务共享数据存储 | 每个微服务可以有一个独立的数据存储 |
总之,SOA更适合需要与许多其他应用程序集成的大型复杂企业应用程序环境。也就是说小型应用程序不适合SOA架构,而微服务架构更适合较小和良好的分割的基于web的系统。另外,如果开发移动或web应用程序,微服务可以为开发人员提供更大的控制权。
实时效果反馈
1. 关于微服务与SOA架构说法错误的是?
A 微服务架构与SOA架构有相似之处,其中一个区别是拆分粒度不同
B SOA架构适合大型复杂应用程序环境,系统中不同类型的应用通过ESB集成在一起
C SOA中服务之间可以通过多种协议进行通信,例如HttpClient,webservice
D SOA中的服务可以独立于其它服务单独部署
答案
1=>D