面向服务的软件工程——面向服务的体系结构模式微服务(week9)

一、前言

本节课主要是介绍一些概念,比如什么是微服务以及微服务相关的知识点概念,比较重点在于理解同步与异步直接是如何进行的

二、重点概念

面向服务的架构模式

软件服务概述

  • 软件服务
    软件服务是一种可以通过互联网从远程计算机访问的软件组件。服务通过其发布的接口访问,并且服务的具体实现细节是隐藏的。通常,服务不会维护任何内部状态。状态信息要么存储在数据库中,要么由服务请求者维护。

  • 服务请求中的状态管理
    当发出服务请求时,状态信息可以作为请求的一部分包含在内,并且更新后的状态信息作为服务结果的一部分返回。由于没有本地状态,服务可以动态地从一个虚拟服务器重新分配到另一个服务器,并可以跨多个服务器复制。

现代Web服务的发展

  • Web服务的起源
    在20世纪90年代,经过一系列关于面向服务计算的实验,"大"的Web服务的概念在21世纪初出现。这些服务基于XML协议和标准,如用于服务交互的SOAP和用于接口描述的WSDL。

  • 现代服务的简单化
    大多数软件服务并不需要Web服务协议设计中固有的广泛适用性。因此,现代面向服务的系统使用更简单、更轻量级的服务交互协议,这些协议具有较低的开销,从而执行速度更快。

微服务架构

  • 微服务的定义
    微服务是小规模的、无状态的服务,具有单一的功能责任。它们组合在一起创建应用程序。微服务是完全独立的,拥有自己的数据库和用户界面管理代码。

  • 微服务架构的优势
    如果你需要创建云端软件产品,并且这些产品需要具备适应性、可扩展性和弹性,那么应围绕微服务架构来设计它们。

微服务示例:系统认证

  • 认证系统功能分解
    系统认证涉及多个功能,如用户注册、身份验证(通过用户ID/密码)、双因素认证等。虽然这些功能可以作为单独的服务使用一个共享的数据库进行管理,但这些功能规模太大,不能直接成为微服务。因此,需要将这些粗粒度的功能进一步细分为更详细的微功能,以确定可以用于认证系统的微服务。

  • 认证功能的微服务分解
    例如,用户注册功能可以进一步分解为设置新登录ID、设置新密码、设置密码恢复信息、设置双因素认证以及确认注册等子功能。

微服务的特性

  • 自包含
    微服务没有外部依赖关系。它们管理自己的数据并实现自己的用户界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI敲代码的手套

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

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

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

打赏作者

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

抵扣说明:

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

余额充值