燃爆上海 5·23-24,AICon 大模型实战风暴,50+ 干货一网打尽,100% 日程上线 了解详情
写点什么

Medium 迁移到基于 React.js 和 GraphQL 的架构

  • 2018-05-20
  • 本文字数:794 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Medium 将他们现有的系统迁移到基于 React.js 和 GraphQL 的新架构。正如 Medium 工程师 Sasha T. Solomon 解释的那样,他们努力的两大目标是在不妨碍新功能开发的前提下,让用户逐渐转向使用新系统。

在对现有使用旧技术的代码库进行迁移时,需要做出一些艰难的决定。除了成本之外,他们必须考虑需要多长时间才能让用户感受到新系统的好处,而通常他们都希望不用等到整个迁移结束才能看到这一结果。此外,他们希望服务在整个过程中保持稳定,并且可以继续演化,如通过修复错误或实现新功能。

正如 Solomon 解释的那样,在他们的平台历经五年的开发之后,Medium 确实已经走到了这一步,

将整个系统迁移到新的工具和框架并非易事。在不影响功能开发的同时做到这一点?更难。

Medium 工程团队设计了一条服务迁移路径,旨在让用户尽快开始使用新系统,同时不妨碍现有系统的演化。

迁移的第一步是用 React.js 重写 Medium 的客户端应用程序,并使用 GraphQL 作为现有 API 的接口层。Medium 使用 Apollo Client 作为 GraphQL 客户端框架。

在这个阶段,旧系统和新系统共存,每个系统服务于一组不同的页面。这种方法的好处是不需要完全重写服务器端,也不会影响旧系统新功能的开发。Medium 团队采取的一项关键决策是使用 protocol buffers 将传统 API 描述为可与 GraphQL 交互的 schema。

根据 Solomon 所述,第二阶段迁移即将开始,服务器端代码将被重构为服务,为 GraphQL 层提供数据,GraphQL 层将使用 Sangria 作为服务器端框架。

预计GraphQL 的使用将带来一个巨大的优势,因为它的更加细化的结构直接映射到更模块化和更简单的服务,这反过来提升了它们的性能。新服务将通过 gRPC 与 GraphQL 服务发生交互,新服务可以与旧服务完全独立开发,旧服务仍然为旧 API 提供支持。

查看英文原文 Migrating Medium to React.js and GraphQL

2018-05-20 19:002548
用户头像

发布了 731 篇内容, 共 464.4 次阅读, 收获喜欢 2005 次。

关注

评论

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

HarmonyOS:使用MindSpore Lite引擎进行模型推理

HarmonyOS开发者

HarmonyOS

特殊字符:安全攻防中容易遗漏的细节

华为云开发者联盟

开发 华为云 华为云开发者联盟 安全攻击

使用开源技术快速上手 Web 前端开发(内含PPT课件)

OpenTiny社区

开源 前端 Web UI组件库

KaiwuDB × 国网山东综能 | 分布式储能云边端一体化项目建设

KaiwuDB

客户案例 KaiwuDB 分布式储能

每日一题:LeetCode-64. 最小路径和

Geek_4z9ami

面试 算法 矩阵 LeetCode 动态规划

TFTP服务器 Transfer免激活最新版

胖墩儿不胖y

Mac 软件 ftp传输

数字化转型对中小企业来说值得吗?

天津汇柏科技有限公司

数字化转型

云桌面的应用场景及利弊

青椒云云电脑

云桌面 云电脑 云桌面系统

39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想

鲁米

阿里云人工智能平台PAI多篇论文入选EMNLP 2023

阿里云大数据AI技术

AI

第七在线(7thonline):助力零售业解决发展难题,驱动智能化转型

第七在线

京东哥伦布即时设计平台ChatGPT落地实践 | 京东云技术团队

京东科技开发者

前端 ChatGPT 即时设计

第七在线 | 引领时尚行业信息化管理新时代

第七在线

大数据时代的数据治理!

用友BIP

数据治理

云桌面技术的革新

青椒云云电脑

桌面云 云桌面

低代码实践 | CodeWave如何支持多人协作开发应用

网易数帆

低代码 智能开发 CodeWave 多人协作

文心一言插件商城重磅上线!

飞桨PaddlePaddle

人工智能 开发者 插件开发 文心一言

一招MAX降低10倍,现在它是我的了 | 京东云技术团队

京东科技开发者

缓存 性能优化 缓存优化 OHC

光纤的连接

小齐写代码

最佳实践 | 第七在线助力绫致时装集团配补调提升运营能力

第七在线

面试官:如何实现链式调用?

王磊

Java 面试题

下一站 GenAI @你!站稳扶好,“码”上发车

亚马逊云科技 (Amazon Web Services)

re:Invent 生成式人工智能 Amazon SageMaker Amazon CodeWhisperer

百度搜索展现服务重构:进步与优化

百度Geek说

重构 企业号12月PK榜 百度搜索展现

Medium迁移到基于React.js和GraphQL的架构_语言 & 开发_Sergio De Simone_InfoQ精选文章