加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

如何在几分钟内创建一个可扩展并且高可用的GraphQL API

发布时间:2022-03-29 13:59:40 所属栏目:业界 来源:互联网
导读:对于云原生的应用来说,一个现代化的GraphQL API层需要具备两个特征:水平可扩展性以及高可用性。 比如说,给一台运行API层的现有机器设备增加更多的CPU、内存和其他资源,这是垂直扩展性。而水平扩展性会为你的API基础设施添加更多的机器设备。 垂直扩展性
        对于云原生的应用来说,一个现代化的GraphQL API层需要具备两个特征:水平可扩展性以及高可用性。
 
      比如说,给一台运行API层的现有机器设备增加更多的CPU、内存和其他资源,这是垂直扩展性。而水平扩展性会为你的API基础设施添加更多的机器设备。
 
      垂直扩展性主要是为了实现某种特定的扩展,而一个具备水平扩展性的API层可以发挥超越单台机器的容积能力。
 
      当谈到高可用性的时候,GraphQL层需要无差错地持续运转(甚至在一些超出我们可控范围的突发情况中)。这是判断一个系统是否具备99.999%高可用特征的最佳考核指标。
 
      这要看情况而定,但如果你像我一样懒,或者更倾向于直接使用云原生服务的话,那么Yugabyte云将会是完成这项任务的最简单的方式:
 
1.对于初学者来说,创建或者注册你的Yugabyte云账号。
 
2.然后,准备一个多节点的跨越若干个可用区域的YugabyteDB集群:
  
a. 选用一个自定义的集群名字,比如 multi-zone-cluster,把集群服务安放在离你最近的AWS片区(对我来说,N.Virginia - us-east-1是最近的),然后确保把Fault Tolerance这项参数设置为Availability Zone Level。
 
b. 点击Download credentials下载证书。然后点击"Create Cluster"(创建集群)。
 
那我们怎么利用YugabyteDB来实现高可用呢?
 
这个集群有三个节点,部署在三个可用区域的其中一个里面。备份因子同样已设置为3。
 
下面的公式定义了容错变量K和备份因子RF之前的依赖关系:
 
RF=(2k + 1)
 
在我的例子中,K=1(意思是,集群可以释放为1个节点),而因此,RF结果为3(3份数据拷贝)。
  
打造一个可扩展以及富有弹性的 Hasura GraphQL层
Hasura 是一个高级的GraphQL服务器,它基于符合PostgreSQL方言的数据库(比如YugabyteDB),提供了快速实时的GraphQL API。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读