【软考系统架构设计师】第十七章 面向服务(知识点必知必会)

本文深入探讨了微服务的概念、特点与挑战,以及与SOA的异同。微服务强调独立、解耦、组件化,带来技术异构性、弹性与扩展性,但也面临分布式系统复杂度、部署自动化等问题。同时,介绍了REST、UDDI、SOAP和WSDL等与SOA相关的技术,以及ESB在企业服务总线中的作用和优势。
摘要由CSDN通过智能技术生成

【软考系统架构设计师】第十七章 面向服务(知识点必知必会)

第十七章 面向服务(知识点必知必会)

一. 微服务

1)什么是微服务
  1. 通俗的说微服务就是很小的服务,它是面向服务架构的一种
  2. 每个服务都是一个组件,通过编排组合的方式来使用。
  3. 它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。
2)微服务的特点
  1. 做到了独立,解耦,组件化,易维护,可复用,可替换,高可用;
  2. 提高交付质量,缩短交付的周期
  3. 小,且专注做一件事情,轻量级通信机制,松耦合独立部署
3)微服务的优点
  1. 技术异构性
  2. 弹性
  3. 扩展
  4. 简化部署
  5. 与组织结构相匹配
  6. 可组合性
  7. 可替代化性的优化
4)微服务的特点及面临的挑战
01. 分布式系统的复杂度
  1. 使用微服务实现分布式系统的复杂度要比单块系统来的高。
  2. 微服务是拆分成多个服务进行部署,服务之间的通信是通过网络,此时的性能就会受到影响。
02. 部署自动化
  1. 每个服务都是一个独立的可部署的业务单元,每个服务的修改都需要独立的部署,这样部署的成本是比较高的。
03. DevOps与组织结构
  1. 微服务不仅表现出一种架构模型,同样也表现出一种组织模型。
  2. 开发者将承担起服务整个生命周期的责任,包括部署和监控,而运维也更多的表现出了一种顾问式的角色。
04. 运维成本
  1. 每个微服务都需要对其进行独立的配置,部署,监控,日志收集等,因此成本呈指数级增长。
05. 服务间依赖测试
  1. 把系统拆分成若干个独立部署的服务,所以就要对服务进行依赖测试。
06. 服务间依赖管理
  1. 随着服务个数的增多,如何清晰有效地展示服务之间的依赖关系,成为了一个挑战。
5)微服务与SOA的关系
  1. 微服务可以说是SOA的一种。但仔细推敲后又可以发现它们两者之间的巨大差异。
  2. 可以从粒度,拆分,通信,组件大小,组织划分等方面来比较。
  3. 微服务是细粒度,而SOA是粗粒度;
  4. 微服务是强调服务能拆分就拆分,而SOA往往将服务看成是一个独立的整体;
  5. 微服务组件较小,而SOA存在着较为复杂的组件;
  6. 微服务使用如Http等轻量级的通信方式,而SOA一般采用的是企业服务总线来充当服务之间的通信角色;
  7. 微服务因为组件小,可以由单一的组织负责,而SOA按层次划分后由不同部门的组织负责,类似于大公司中划分出的一些业务单元;
6)微服务与SOA的实现对比
01. 服务架构
  1. 在实现上无集中式总线,松散的服务架构是微服务的实现,
  2. SOA是其中的服务架构;
02. 集成方式
  1. 微服务简单集成,使用Http/JSON/REST)
  2. SOA集成方式复杂,使用ESB/WS/SOAP
03. 展开方式
  1. 微服务是面向团队级,自底向上展开
  2. SOA是面向企业级,自顶向下展开
04. 部署方式
  1. 微服务单个服务独立部署
  2. SOA一般服务之间相互依赖,部署复杂;
05. 粒度
  1. 微服务中一个系统被拆分成若干服务,粒度细
  2. SOA中服务由多个子系统组成,构成复杂。

二. 与面向服务相关联的技术

  • 与SOA相互关联的技术有:UDDI,WSDL,SOAP,REST等。
1)REST技术
01. 概念
  1. REST是全称是表诉性状态转移,是一种只使用HTTP和XML进行基于Web通信的一种技术。
  2. REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值