AI通识课
如何在HonoJS里使用Service Binding?
什么是Service Binding?
Service Binding是cloudflare workers的一个特性,简单来说就是,假如Worker1想要调用Worker2,可以直接用fetch api或者axios甚至ky等http client发起请求,但这样会导致通信走公网,请求处理时延会有很大的延迟。 如果要避免这种问题,我们可以使用cloudflare workers的service binding特性,这个特性的作用就是让worker调用worker不用走公网,减少worker调用worker之间的时延(latency)。
NOTE
不走service binding当然也可以,但有可能遭遇错误:
error code: 522
在cloudflare workers原始API方式中使用service binding
要使用service bingding,我们需要在当前worker的配置文件中首先添加service binding的配置:
这里我们使用kauthflare这个worker,然后用authflare作为binding的名字,以便稍后在worker程序代码中引用。
所以,下一步就是编写worker代码来调用这个service binding(以下代码来自cloudflare官方文档,但稍作了改动以应对以上配置内容):
在honojs应用中使用service binding
大多数时候,福强老师现在都用honojs作为cloudflare workers的开发框架,而要在honojs中使用service binding,其实也相当简单。
第一步依然是配置,在wrangler.toml配置文件中添加上一章节同样的配置内容:
第二步则是在hono的handler中使用这个配置好的service binding:
That’s it, 是不是很简单呢? 😉
「架构师的修炼」大礼包
管理者入门与进阶课程