7、微服务架构构建与应用开发

微服务架构构建与应用开发

1. 分布式数据库架构模式

1.1 直接 HTTP 调用

直接 HTTP 调用被视为一种反模式,应尽量避免,因为它会在服务之间创建直接依赖。例如,在一个电子商务系统中,包含购物服务、产品服务和定价服务,每个服务都有独立的数据库来存储特定领域的信息。当用户从电子商务网站购买商品时,网站会向购物服务发送 HTTP POST 请求。在将请求保存到购物服务数据库之前,该服务需要验证产品数量并读取价格信息。使用直接 HTTP 调用模式,购物服务可以直接向产品和定价服务发出请求,读取产品和定价信息,然后将信息保存到购物服务数据库。

1.2 聚合器模式

聚合器模式是将直接 HTTP 调用从服务本身委托给聚合器服务的另一种方法。聚合器服务的职责是向其他服务发出 HTTP 调用,聚合结果,并向目标服务发出单个 HTTP 调用。在上述购物服务场景中,请求首先到达聚合器服务,该服务向产品和定价服务发出请求。收到响应后,它聚合结果并向购物服务发出 HTTP POST 请求。聚合器服务具有弹性,如果产品和定价服务失败,它应该有某种机制来重试调用。

我们还可以使用 Azure APIM 来构建聚合器服务。通过 Azure APIM,我们可以读取传入请求,向其他服务发出 HTTP 请求并聚合数据,这可以通过 APIM 中的策略实现。

1.3 命令查询职责分离(CQRS)模式

在之前使用直接 HTTP 调用的方法中,聚合器基于 HTTP 请求。但当性能是主要因素时,这种方法可能不适用,因为服务可能会遇到网络延迟和请求超时。CQRS 模式将数据存储的读取和更新操作分离。

例如,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值