Go 自定义 DNS 解析器负载均衡实践
前文讲到Go语言自定义DNS解析器实践,今天分享一下如何在自定义的 DNS 解析器中实现负载均衡。
PS:这里我并没有找到fasthttp
相关资料,暂时不做fasthttp
的实践。
实现
首先我们看前文用提到用于创建 HTTP 客户端的代码片段:
复制代码
其实只要对这个方法进行小小的改造即可,思路跟Java自定义DNS解析器负载均衡实现一样,都是预设一些 IP,然后随机获取一个使用。
复制代码
当然这个地方完全可以配置化,有兴趣的同学可以自行拓展。
测试
先说结论:结论同Java自定义DNS解析器负载均衡实现,只有在创建新连接的时候,才会执行一次改造后的方法。
测试服务跟 Java 一致,这里不分享了。用例如下:
复制代码
控制台输出:
复制代码
完美实现,随机函数可自定义,最好自己先测试一波。
Have Fun ~ Tester !
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/e6d934257fec1ebe38038f182】。文章转载请联系作者。
评论