云原生应用架构的迁移 一 :增量迁移范式

魏小言
云原生领域优质创作者
博客专家认证
2021-09-13 17:05:41

云原生应用架构的迁移 一 :增量迁移范式
云原生应用架构,以快速创新、服务弹性扩展、持续交付价值的特性,使企业产品服务在市场中具备真正敏捷的竞争力!

拆分原架构,迁移上云
前篇文章介绍了 云原生应用架构中的技术变革 三:从集中专治到分散化 ,大家读了之后会觉得:“ 太棒了,品完就想立马结合手上的资源 Try 一 Try ! ”

那么就可能会有这样的问题,在分解数据、服务和团队后,要如何拆分已有的单体应用并把它们迁移上云呢?

增量范式
如何拆分已有的单体应用并把它们迁移上云呢?

答案就是,增量范式。

这种范式在过去的各种尝试中脱颖而出,在迁移效能中是佼佼者,SoundCloud 和 Karma 就是最棒的例子!

下面将一步一步介绍如何利用增量范式进行迁移上云…

新功能微服务化
大家是不是很迷惑,为什么第一步是 “ 新功能微服务化 ” ?

因为从头开始构架一个服务比分解一个单体应用并重构服务相对容易和快速的多!所以不要继续再向单体应用中增加代码,将所有的新功能以微服务的形式构建。

注意:当然这是假设当前服务仍需要继续添加新功能的场景,若不需在继续添加,则可以跳过这部分。

那么我们在构建微服务架构的时候最需要注意的是什么呢?或者说我们构建新服务怎么与单体服务进行交互呢?

整体来说有两点:

服务交互
服务集成
大家可以回想一下团队用的 RPC 框架,尤其是支持跨语种、多种协议的框架。不管其内部如何实现,核心点是:通信协议、领域模型转换!

既然我们知晓了关注点,那么如何入手呢?

隔离层
我们需要一个环境提供给我们进行新老服务集成交互,我们往往把这个环境叫做 “ 隔离层 ”。

Eric Evans(Addison-Wesley)在领域驱动设计(DDD)中讨论了隔离层的思想, 其目的是允许两个系统的集成,而隔离层不仅仅提供环境,还确保一个系统的领域模型破坏另一个系统的领域模型。

毕竟我们不希望新功能集成的微服务,与单体紧密结合,让他们肆意地深入单体的内部结构,这也是隔离层名字的由来。

在隔离层中,我们主打三个关注点:

系统集成
通信协议转换
领域模型转换
针对三点,隔离层分别提供了解决方案:表现层、适配器、转换器。

表现层
表现层目的是简化应用接口之间的集成过程,独立于单体及新微服务内部逻辑上层,有明确的上下界,统一的上下层交互。

结构可类比七层网络的表现层、 MVC 结构的 Model 层、等等

适配器
适配器,就是 三十二种设计模式之一 的适配器模式。通过适配器模式来定义功能 Service/Interface ,来提供我们需要的新功能。

它知道如何获取系统请求,并使用相同协议将请求发送给单体应用的表层。

转换器
转换器的职责是在新微服务、单体应用之间进行领域模型的转换,确保双方数据交互畅通。

扼杀单体应用
有了隔离层,增量迁移的第一步:新微服务化 已完成。下一步就是 “ 扼杀单体应用 ”,将在下篇博文继续介绍!

Q&A
1、增量模式,手段似乎与 “ 系统重构 ” 要素相似,有什么联系吗?

对,此模式在 “ 系统重构 ” 中也有应用。
两者目的相似,毕竟架构迁移也是系统重构中的一种!

2、文中的领域模型是指什么?平时不见这种名词…

领域模型,计算机科学中的名词。泛指系统的架构/结构,具指系统的数据结构,不同语境语义不同,大家以经验定性即可。

附录
产品测试是使设计决策得以贯彻执行的必要手段!

...全文
1433 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
魏小言 2021-09-13
  • 打赏
  • 举报
回复

nice

2025年DA数智大会AI技术实践落地峰会深圳站(脱敏)PPT合集,共43份。 一、主论坛 1. Big AI Data时代:小红书数据架构的演进 2. LLM Agent开发新范式:自然语言的解析和执行 3. 赋能AI与AI赋能的多云统一 二、Agentic 前沿技术论坛 1. Agentic AI 企业应用 2. Agentic AI思考与产业实践之路 3. 加速Agentic Memory在PB 级数据湖上实现Parquet 查询1000 倍性能提升 三、Agentic 最佳实践 1. Agent应用实现新一代家居设计制造数字化转型 2. MoonAgent:为 Moonbit 编程语言定制的 Code Agent 3. 多智能体协同引擎:AI视频生成技术重构跨境电商增长范式 4. 超越RAG:迈向智能体时代的 Agentic RAG 四、AI搜索技术探索与应用论坛 1. RAG技术全景实时检索与可控生成的前沿实践 2. 运用 Elasticsearch 向量搜索创建 RAG 应用 五、AI时代下的数据存储架构 1. Curvine:高性能分布式缓存 2. 腾讯云高性能存储 GooseFS 成为 AI 存储新范式 3. 货拉拉的大数据存储架构演进 六、Data+AI 一体化平台架构实践论坛 1. AI时代下阿里云大数据演进与发展 2. Pinterest 上针对大语言模型的最后一公里数据处理 3. 数据智能数智化探索:找数、做数与用数 七、DataAgent:从辅助分析到自主决策论坛 1. Data Agent智能决策引擎:数势科技在NL2Semantics与Multi-Agent架构上的革新实践 2. Ofnil:Agent和智能图平台在游戏行业应用实践 3. 基于大模型与智能体的复杂场景数据分析在Grab风控场景中的实践与探索 八、大模型助力产品研发 1. Coding Agent 的知识积淀和盲写问题 2. 从数据到药物:多模态大模型在AI for Science中的高效实践 3. 百度智能化研发落地实践 九、大模型增强用户体验与客户服务 1. 基于人机协作的寿险数智化转型实践 2. 大模型产品运营之路:AIGC应用的运营探索与思考 3. 大模型助力抖音用户体验智能化 十、大模型时代数据处理技术应用论坛 1. 从业务价值视角有效构建高质量数据的方法和实践 2. 智能文档时代:多模态大模型驱动的数据处理与治理革新 十一、大模型驱动的个性化推荐系统新范式论坛 1. 生成式推荐研究进展 十二、大模型驱动的运营与营销升级 1. AI智能体在顺丰运营环节的应用 十三、大模型驱动风控与安全 1. HyperGPU:机密计算释放通用GPU算力构筑大模型密态算力底座 十四、计算革新,数据效能新引擎论坛 1. Flink On K8S 在作业帮的落地实践 2. 腾讯 BiFang:流湖一体原理和实践 3. 通用增量计算:新一代数据架构的核心引擎 十五、金融场景GenAI创新应用 1. AI原生RBF 生态协作网络构建的探索实践 2. 从提示词到评估指标:构建银行场景下的大模型应用评价体系 3. 知识图谱在合同中台的探索与实践 4. 证券知识库构建和应用 十六、降本增效:数据架构技术迭代实践论坛 1. AI 驱动下的数据系统演进 2. Presto迁移StarRocks在滴滴的实践 3. 小米基于 Gravitino 在 Data AI 数据管理和处理的实践 4. 微信大数据平台与AI框架作业规模化上云的优化实践

23,637

社区成员

发帖
与我相关
我的任务
社区描述
EdgeX Foundry 是一个由Linux基金会主持,供应商中立的边缘计算开源项目,旨在为物联网边缘计算提供开放、可扩展的平台。
人工智能edge边缘计算 企业社区 上海·浦东新区
社区管理员
  • EdgeX中文社区
  • 亿琪软件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
EdgeX Foundry 微信官方公众号 (EdgeXFoundryCN) 【优质内容,全站网罗】 持续聚集沉淀来自社区的 EdgeX Foundry 专业内容和资源,点击首页右侧“关注社区”,参与到社区里来吧! 【进阶学习,技术交流】 欢迎在社区的“问答”频道发帖提问,优质回答者将有机会登上社区光荣榜,获得 CSDN 积分,EdgeX 社区头衔等奖励! 【投稿贡献,成为大牛】 我们诚挚邀请你成为社区贡献者,发布优质的自产内容或翻译内容,优质投稿者将有机会登上社区光荣榜,获得 CSDN 积分,EdgeX 社区头衔等奖励!

试试用AI创作助手写篇文章吧