写点什么

数据是实现微服务的难点

  • 2016-09-04
  • 本文字数:996 字

    阅读完需:约 3 分钟

企业在创建和开发微服务的过程中,最困难的问题之一就是他们的数据。如果我们采用领域驱动设计(Domain-Driven Design,DDD)来分析业务领域并剖析数据所代表的含义,将会有助于实现微服务架构 Christian Posta 在一个关于微服务实现的系列博客文章中阐述了该理念。

Posta 是 Red Hat 的中间件主架构师,对于他来说,选择微服务架构的主要原因在于这种架构能够让负责系统不同组成部分的团队按照不同的进度来开展工作,并且能够让他们之间的相互干扰达到最小。当按照这种方式来组织团队的时候,系统架构能够反映出这种变化,并且会向微服务架构来演化。

但是,如何让团队之间的这种自治真正运转起来,这一点其实并不简单。在单体架构中,通常会使用事务并且只有一个数据库,如果每个服务都具有一个数据库,那么这会变成一项挑战,对于传统的企业来讲更是如此。

Posta 指出,在实现微服务方面,互联网公司和传统企业之间有着巨大的差异。互联网公司采用微服务的目的主要是解决大量数据和扩展性的问题,而传统企业要同时处理业务和扩展性方面的复杂性。播放影片或发送推文的复杂性要远远低于保险索赔系统的复杂性。

在为相对复杂的企业域构建微服务时,我们需要找到在这个域中不同责任的边界。在每个边界中,我们会创建领域模型,这个模型是针对业务责任所设计的,并反映了这种业务责任。针对每个边界的数据模型会由同一个边界中的领域模型来驱动。采用 DDD 的方式我们能够找到这些边界,并会为每个边界创建一个有界上下文(bounded context),每个上下文将会成为一个微服务。

在Posta 的经验中,开发人员在构建分布式系统时,会倾向于假设只有一个关系型数据库,并试图将网络的不稳定性抽象出来。跨多个服务所带来的分布式数据问题通常会通过二阶段提交来解决。与这种做法不同,Posta 相信,我们必须要寻找每个有界上下文中的事务性边界,并找到满足业务限制和不变量的最小原子单元,不要让事务传播到其他的上下文之中。

我们还需要有一种机制,能够让服务通知其他的服务发生了什么,针对这种需求,Posta 推荐使用事件。我们的服务会发布事件,描述在这个域中发生了什么,其他的服务会读取这些事件,调整它们自己的模型并将变更进行持久化。

关于这些理念的更深入描述,Posta 引用了Vaughn Vernon 发布的一系列博客文章,这些文章基于DDD 理念,描述了聚集、事务边界和有界上下文。

查看英文原文 Data is the Hard Part Working with Microservices

2016-09-04 19:002869

评论

发布
暂无评论
发现更多内容

数据编排的音乐解法

Alluxio

科普 Alluxio 数据编排 8月月更

实时云渲染有哪些特点,主要优势有哪些

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

Salesforce解散中国团队,国产SaaS软件如何完美替代

sofiya

芒果TV创新研究院联合腾讯云发布“虚拟人直播互动平台”,支持千人沉浸式体验

科技热闻

多路混流实操流程

ZEGO即构

瑞云科技荣获全国电子信息行业专精特新“最具创新价值 TOP20”!

3DCAT实时渲染

Spring永远的神,这绝对是目前最全面的spring全家桶学习笔记

Geek_Yin

spring 编程 程序员 Java、 跳槽季

制造业专家黄培博士:沃丰科技ServiceGo 智能售后服务成就高绩效企业

科技怪咖

【计算讲谈社】第十讲|当云计算遇上碳中和

大咖说

云计算 碳中和

什么是实时渲染,实时渲染是如何工作的

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

华为云“828 B2B企业节”,积木易搭云速3D云展与您不见不散

sofiya

兆骑科创创投平台,赛事活动承办,高层次人才引进

兆骑科创凤阁

央企数智化转型实践沃丰科技AI助招采平台打造全新客服体系

科技怪咖

敏捷Scrum在中小型企业的落地实施方案

爱吃小舅的鱼

多人沉浸式音乐互动,3DCAT实时云渲染新业务场景来袭

3DCAT实时渲染

云计算 元宇宙 实时渲染云

关于游戏中的实时渲染

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

兆骑科创创新创业服务平台——创新创业的联通之桥

兆骑科创凤阁

01_Linux基础-部署-VMware-Xshell-Xftp-内核-安迪比尔定理

mycpen

Linux

2分钟了解什么是实时渲染

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

AI加持沃丰科技ServiceGo智能售后,让制造业服务提升“肉眼可见

sofiya

项目经理如何推进项目进度?

爱吃小舅的鱼

对话HR专家崔晓燕 沃丰科技AI+HRSSC如何提升企业人效

科技怪咖

实时云渲染如何助力虚拟展厅

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

“外卖式”售后服务体验来袭 沃丰科技ServiceGo让售后服务更智能

sofiya

新书上市 | 关于推荐系统,这本书包含了你想知道的一切!

图灵教育

【温氏集团】流程驱动的运维自动化在温氏集团的实践

嘉为蓝鲸

运维 AIOPS

新书上市 | 关于推荐系统,这本书包含了你想知道的一切!

图灵社区

2022亚洲视博会圆满落幕,3DCAT荣获“优秀沉浸式视觉解决方案”奖

3DCAT实时渲染

信息化赋能,移动办公系统WorkPlus助推智慧检务工作安全高效发展

BeeWorks

HR拥抱人工智能 沃丰科技AI助力星巴克、泰康保险打造智慧HR中心

sofiya

中国掀起数字化浪潮|沃丰科技AI外呼机器人助家电企业潜客筛选自动化

科技怪咖

数据是实现微服务的难点_语言 & 开发_Jan Stenberg_InfoQ精选文章