AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

Eric Evans 谈领域驱动设计、微服务与边界

  • 2015-06-22
  • 本文字数:973 字

    阅读完需:约 3 分钟

在今年于伦敦举办的 DDD Exchange 大会的主题演讲中, Eric Evans 表达了他对微服务的看法。尽管微服务这个词现在已经有点炒作的味道,但Evans 相信微服务确实蕴含着巨大的价值,它为我们带来了或许是迄今为止最好的实现领域驱动设计(DDD)的环境。

对于Evans 来说,良好设计最重要的关键因素是迭代。他也相信,微服务是继SOA 之后第二次对实现正确的架构设计的尝试。这两者之间的一个主要区别在于:微服务非常强调隔离性,相比较而言,过去在尝试SOA 的过程中经常使用数据库作为集成的手段。微服务允许自治的团队各自开发不同的服务, DevOps 的发展则使服务能够独立地创建与部署,这就为我们提供了天然的边界,在开发过程中不必与其它服务纠缠在一起。他同时也相信,微服务中所用到的技术正在变得更为轻量级,并且耦合性更低。

微服务为 DDD 带来了真正的边界,而微服务社区所推崇的各种思想,例如不要共享,这正是我们希望在边界上下文中能够实现的能力。但 Evans 同时也提醒我们,如果缺乏一种高层次的设计视图和策略,那么仍有可能发生混乱的情况,大量的服务看起来就像老式的一体化、相互纠缠的系统。Evans 强调,并不是每一个大型系统的设计都是良好的,他认为微服务能够在经过良好设计的服务与设计及实现很糟糕的服务之间创建一种隔离性。

在 Evans 看来,一个微服务的操作方式恰好能够生成一个良好的边界上下文,至少这是一个良好的起点,它在服务与上下文之间建立起了某种一对一的映射。随着服务开始逐渐小型化,并以某种非常特定的方式与其它小型服务进行协作与交互,那么这个边界上下文或许能够涵盖所有这些小型服务。不过,以他的经验来说,我们经常会设计出过于庞大的边界上下文。传统的一体化服务端应用总是会成为一个单一的上下文,这会造成这个上下文过于庞大。最后,他再次重审,应由具有这方面技能的人从一个更高的层次去发现系统中的领域与上下文,这一点对于应用的开发十分重要。

下一年度的DDD Exchange 大会预定于2016 年6 月10 日举办,现已开放注册。

查看英文原文 Eric Evans on DDD, Microservices and Boundaries


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015-06-22 04:373976
用户头像

发布了 428 篇内容, 共 190.0 次阅读, 收获喜欢 39 次。

关注

评论

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

针对容器层的五种攻击手段

穿过生命散发芬芳

容器安全 三周年连更

如何解决Paragon NTFS for Mac安装分卷失败?

Rose

Paragon NTFS ntfs 安装分卷失败

2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个从 1 到 n 且互不相同的值 另给你一个长度为 m 的数组 queries 你必须在树上执行

福大大架构师每日一题

Go 算法 福大大

Mac M1 安装SD不折腾版本

IT蜗壳-Tango

三周年连更

KubeVela 稳定性及可扩展性评估

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

一文看懂:StopWatch 源码解读

后台技术汇

三周年连更

The Foundry Modo 16 16.1v3激活版 专业3D建模软件

Rose

3d建模 The Foundry Modo

一文了解 Zebec Labs 投资的 Coral Finance,空投计划或在不久推出

股市老人

云原生底座之上,这些企业领跑行业的秘密

阿里巴巴云原生

阿里云 容器 微服务 云原生

Django操作异步任务

乌龟哥哥

三周年连更

硬核Prompt赏析:与Auto-GPT的“契约”

无人之路

ChatGPT Prompt

查询最新汽车新闻资讯

DS小龙哥

三周年连更

AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?

阿里巴巴云原生

阿里云 Serverless 云原生 AIGC

与伙伴同行,Serverless 让创新触手可及

阿里巴巴云原生

阿里云 Serverless 云原生

Prometheus 瘦身第一步,使用 mimirtool 找到没用的 Prometheus 指标

巴辉特

Grafana Prometheus Mimir mimirtool

“双智天花板”闪耀鹏城,问界M5智驾版深圳首场尊享品鉴会成功举办

极客天地

史上最强升级!音乐制作软件Logic Pro中文特别版

Rose

Logic Pro Mac音乐软件下载 Logic Pro破解版

Mac音乐制作软件推荐:Ableton Live 11 Suite中文版「win/Mac」

Rose

Ableton Live 11破解版 Ableton Live 11中文版 苹果软件下载

假期做了一项调研:大厂为啥都自研RPC?结果合乎情理!

冰河

程序员 RPC 架构师 技术提升 大厂招聘

Flink应用框架层

阿泽🧸

flink 三周年连更

汽油价格变动实时短信通知

DS小龙哥

三周年连更

xmind怎么导出为pdf?Xmind最全入门教程

Rose

Xmind 2022 XMind下载 思维导图软件

MATLAB实现航天相关的仿真

袁袁袁袁满

三周年连更

新手如何学习挖漏洞?看这篇就够了【网络安全】

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

C++智能指针和内存管理:使用指南和技巧

小万哥

c++ 后端 开发 内存管理 智能指针

习惯了和AI聊天,感觉我更加社恐了......

FN0

人工智能 AI AIGC

【web 开发】PHP 特殊的对象引用 "$this"(62)

迷彩

php 面向对象 this指针 三周年连更

Eric Evans谈领域驱动设计、微服务与边界_架构_Jan Stenberg_InfoQ精选文章