2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:002589
用户头像

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

关注

评论

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

百度智能云宣布国内首家支持Llama3全系列训练推理

科技热闻

网站的静态资源怎么获取?

不在线第一只蜗牛

网站 静态资源

天花板!充值运营平台限时返场!

开源物联卡管理平台-设备管理

物联网 IoT eSIM安全 java 技术提升

提升Office 365网络效率的SD-WAN技术

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

RocketMQ 存储机制浅析

字节跳动云原生计算

RocketMQ

加密货币交易所开发成本:2024 年完整指南

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

数据治理的五大误区与破解方法

郑州埃文科技

数据治理

携手打造开放AI生态,英特尔助力千行百业数智化变革

E科讯

用了 18 个月时间,做 AI 应用从 0 到 200 万用户,从亏损到盈利(4000 字全面复盘)

陈宇明

创业 程序员 AI AI应用 AI创业

克魔助手抓包工具完整教程

小型企业网络优化加速方案

Ogcloud

网络 SD-WAN 企业组网 企业网络 SD-WAN组网

写给职场新人|从迷茫到屡获殊荣的技术人成长之路

京东科技开发者

云PBX的相关介绍

cts喜友科技

通信 通讯 云通讯

Kafka 线上性能调优

不在线第一只蜗牛

kafka 分布式

高效的 API 自动化测试

Liam

Jmeter 自动化测试 API测试 测试工具 API 自动化测试

比特币减半倒计时:NFT 生态将受到怎样的影响?

NFT Research

BTC NFT

AI从入门到入门之手写数字识别模型java方式Dense全连接神经网络实现

京东科技开发者

Optimism 黑客松大赛获奖名单公布

Footprint Analytics

AI gamefi Optimism

数仓的两种轻量级数据交换格式:json与jsonb

华为云开发者联盟

数据库 华为云 华为云开发者联盟 华为云GaussDB(DWS) 企业号2024年4月PK榜

百度文库「一站式AI内容创作平台」再上新!重磅发布「跨模态AI漫画及画本生产能力」

极客天地

高清LED显示屏在舞台应用中的惊艳效果

Dylan

活动 高清视频 LED显示屏 全彩LED显示屏 led显示屏厂家

Uniswap丨justswap丨pancakeswap去中心化薄饼交易所系统开发

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

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