18、微服务架构下的数据管理与RESTful API设计

微服务架构下的数据管理与RESTful API设计

一、微服务架构的数据管理

1.1 微服务架构的数据分散化理念

微服务架构(MSA)的核心哲学是软件设计与开发的去中心化。这种去中心化不仅指导业务逻辑的组织,还影响数据的持久化方式。在单体架构中,应用组件和数据传统上是集中式的,通常使用如 SQL Server 等 SQL 数据库作为单一数据库,包含多个表。部分应用逻辑甚至以存储过程、复杂连接等形式委托给 SQL 数据库。

1.2 REST 理念下的数据组织

为了以去中心化的方式正确且简洁地组织数据,RESTful 服务范式十分有用。REST 概念引入了一种新的数据建模方式,每个应用中有多个资源,REST 为每个参与的资源分配一个 URL,并建议使用标准的 HTTP 动词与资源进行交互。

对于一个小型社交消息应用,有三种基本资源类型:用户、消息和好友。在单体应用中,中央服务器处理所有资源路径的请求,且有一个单一数据库将所有资源类型存储为表;而在以微服务为中心的应用中,每个微服务都有自己的数据库,这种安排确保了数据的更高安全性,且微服务与资源类型之间存在一对一的映射关系。

1.3 避免 SQL 连接操作

在 MSA 世界中,由于每个数据库在逻辑上是分离的,进行 SQL 连接操作非常繁琐且耗时,还会带来技术和安全方面的问题。例如,消息应用的时间线视图要求显示认证用户每个好友的最新消息,以及好友的姓名和其他详细信息。

使用基本的 REST API 实现此复杂视图,客户端需要对不同资源进行多次 API 调用,共需五个请求,这会降低性能。一种解决方案是为 API 创建一个新路由,即

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值