文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

分解单体式数据库以实现微服务

2024-12-10 15:44

关注

[[345439]]

微服务模型使基础架构和数据存储发生深刻变化。在微服务模型中,从传统应用程序中拉出服务,并为其提供独立性,在这种情况下,团队也必须考虑其基础数据库,并将其分解为特定于服务的数据源。

让我们看一下微服务迁移如何影响数据库管理,并探讨分解数据库的步骤。

按服务模式的数据库

在微服务架构中,大型数据湖需要转型为分布式数据库,以匹配特定服务。这样做可在只需要访问原始数据库特定部分的各个服务间创建必要的关注点分离。这也可帮助管理自己服务集的团队维持所需的独立控制。

根据Praful Todkar建议的模型,分解单体数据库需要与其所支持的服务同时进行-有时称为按服务模式的数据库。这应该是逐步的过程,并要求团队:

分离服务和表

在微服务迁移期间,重组整个数据库有点像在驾驶汽车的同时更换轮胎。这样做可能会导致各种故障,并增加丢失数据或破坏功能的机会。

正确的做法是,从小处着手,在旧架构与新微服务间进行逻辑分离。当你选择要从单体中移除的服务后,创建一个新数据表(或多个表),其中仅包含新服务所需的数据。

在此步骤中,明确的路由规则至关重要。首先团队需要将流量从单体应用程序重新路由到新的微服务。然后,他们必须将旧的单体数据库的部分转移到表中,这最终将构成新数据库的框架。所有这些都需要现代的联网功能,例如由Istio等工具实现的服务网格方法。

当将分离的表转换为新的分布式数据库时,奇偶校验也至关重要。请确保新旧数据库中的数据已完全同步。在确认数据奇偶校验后,从以前的数据库中删除表和旧数据。

使用模式是便于管理,但不能过于依靠

模式是元数据集,用来描述数据库内数据的结构。有些团队更喜欢按模式整理数据,为每个服务创建独有的数据库模式,而不是整个数据库。这种方法有着无可争议的好处,因为要管理的数据库更少,并且它们之间的统一性更高。

但是,这种做法非常接近单体式数据湖模型,而我们正试图远离这种模型。如果有选择的话,即使看起来客观上适得其反,开发人员和架构师也会倾向于熟悉的方法。他们会做出妥协并遵循按服务模式做法。但是请记住:只要有可能,最好为每个服务都设置专用数据库,而不要依赖总体架构。

微服务最好的部分是,它使你可以将专用数据库分配给某些服务,而将共享数据库用于其他服务。该决定通常取决于服务的重要性及其处理的数据类型。团队结构也在这里发挥作用。有些服务要求管理它们的团队具有严格的自治权,而其他服务最好在多个团队之间共享。

为微服务选择最佳数据库 通常,单体是构建大型关系数据库上。当迁移到微服务时,为新架构选择数据库是重大决定。

现在有很多数据库选项,包括:

每种类型的数据库模型都适合特定类型的数据管理需求。例如,键值数据库和列式数据库最适合结构化数据,图形适合半结构化数据,而文档存储则最适合非结构化数据。

请记住,每种数据库类型的读写速度都不同,围绕不同数据库的供应商工具也不同。在选择任何一种数据库类型或工具集前,请使用样本数据运行测试。例如,对于需要实时性能的服务,将需要具有强大内存性能的数据库。

尽管企业正在迁移到微服务,但是关系数据库不会很快消失。出于各种原因,很多应用程序的某些部件在传统架构中运行时性能最佳,并且将依赖于旧的单体数据库来运行。好消息是微服务支持这种数据库管理的多类型模型。因此,不要仅仅因为其他服务正在迁移到微服务,而试图将应用程序的每个部分从单体中移出。

 

来源:TechTarget中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯