如何在几分钟内创建一个可扩展并且高可用的GraphQL API
发布时间:2022-03-29 07:51:50 所属栏目:动态 来源:互联网
导读:对于云原生的应用来说,一个现代化的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。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读