业界动态
Go HTTP 框架之 Hertz —— 通过 reverseproxy 进行反向代理实战
2024-11-01 00:32

Hertz 是一个超大规模的企业级微服务 HTTP 框架,具有高易用性、易扩展、低时延等特点。

Go HTTP 框架之 Hertz ——  通过 reverseproxy 进行反向代理实战

Hertz 默认使用自研的高性能网络库 Netpoll,在一些特殊场景中,相较于 go net,Hertz 在 QPS、时延上均具有一定优势。

在内部实践中,某些典型服务,如框架占比较高的服务、网关等服务,迁移 Hertz 后相比 Gin 框架,资源使用显著减少,CPU 使用率随流量大小降低 30%—60%

关于 Hertz 更多的信息可移步至 cloudwego/hertz

反向代理在计算机网络中是代理服务器的一种。

服务器根据客户端的请求,从其关系的一组或多组后端服务器(如 Web 服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的 IP 地址,而不知道在代理服务器后面的服务器集群的存在。

在 Hertz 中使用反向代理需要拉取社区提供的 reverseproxy 拓展。

我们通过 函数设置了反向代理的目标路径 。接下来注册路由的路径为反向代理目标路径的子路径 ,最后通过注册 映射反向代理服务 。这样我们通过 GET 方法访问 时就会访问到 中的内容。

当然,拓展不只是能够实现简单的反向代理,在 reverseproxy 拓展中提供了许多可以自定义的可选项。

方法描述用于指定 protocol.Request用于指定转发的客户端用于指定响应修改方法用于指定处理到达后台的错误或来自 modifyResponse 的错误

SetDirector & SetClient

我们通过实现一个简单的服务注册发现来进实践使用 和 。

Server

这里使用了 hertz-contrib/registry 拓展中 server 端的示例代码,由于这并不是本文的主要内容所以不做展开,关于更多信息可以去到 registry 库中。

Client

Client 部分中我们在服务发现使用了反向代理。首先通过 将使用了服务发现中间件的客户端指定为我们的转发客户端,再使用 指定了我们的 protocol.Request ,并在新的 Request 中配置了服务发现的使用。

SetModifyResponse & SetErrorHandler

与 分别设置来自后端的响应以及到达后台错误的处理。 实则是在设置反向代理拓展中的 ,如果后端返回任意响应,不管状态码是什么,这个方法将会被调用。如果 方法返回一个错误, 方法将会使用错误做入参被调用。

SetModifyResponse

在这里通过 修改 进以改变响应的处理内容。

SetErrorHandler

我们通过 指定如何处理到达后台的错误,当有错误到达后台或有来自 的错误时就会运行指定的处理逻辑。

除了基本使用外,Hertz 反向代理还支持在中间件中使用。

在这段实例代码中,首先初始化了两个 Hertz 实例,接着使用 设置反向代理目标为 9997 端口,在最后对两个实例分别注册了两个路径相同的路由。

测试1

这段代码的主要部分为中间件使用部分,我们通过 使用中间件,在中间件逻辑中,当 逻辑成立时调用 使用反向代理,此时再通过实例 r 请求 时就会请求到反向代理目标 9997 端口中的内容。

    以上就是本篇文章【Go HTTP 框架之 Hertz —— 通过 reverseproxy 进行反向代理实战】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/7759.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多   
最新新闻
“撒旦”人血鞋?碰瓷新疆棉花的耐克,又开始喊冤了?
继主动碰瓷新疆棉花把自己搞得股价大跌之后耐克秉承着“no zuo no die”的精神又开始暗搓搓搞“阴间操作”限量发售含人血的“撒
tiktok怎么搭建外网 详细教程及步骤
TikTok怎么搭建外网(详细教程及步骤)TikTok是一款非常流行的短视频社交应用程序,它在全球范围内拥有数亿用户。在使用TikTok的
《以案释法》步数越多,收益越高?别被“走路也能赚钱”的理财广告忽悠了
  走路也能赚到钱的理财  “丑的人还在睡觉,美的人已经跑出一杯星巴克了。”2016年的一天,一个女孩晒出的朋友圈截图引起了
如何用生意参谋算出同行店铺真实销售额
怎么经过生意顾问算出同行店肆实在销售额?大多数在淘宝天猫工作过的人都知道,他们的背景显现了同行商铺的买卖数据,这被称为买
一款最近比较火的网站统计分析系统,易分析具有什么样的功能呢?
一、产品简介北京普艾斯科技有限公司成立于2009年,服务客户1000+,包括电商、金融、保险、政务服务等行业。私有化部署,全渠道
向佐快乐大本营2024年精彩回顾:四年时光共欢笑
张大大谢娜力捧下的综艺新星张大大一位在娱乐圈中颇具人气的主持人他的成名之路离不开谢娜的提携回顾张大大的成名之路可以说谢娜
PingTools app
《PingTools app》是一款非常好用的实用工具软件,软件内拥有丰富的功能,包含了包括浏览器扫描等。使用非常简单,直接下载安装
抖音能看到谁搜索过自己吗?
尊敬的用户,您好。针对抖音平台是否能够查看谁搜索过自己的问题,我们需要做一些详细说明。首先,根据我们了解到的情况,在抖音
什么是人工智能“语料库”?为什么每个人都在谈论它?
编者按:比尔盖茨(Bill Gates)、Reddit 首席执行官和其他科技领袖越来越多地谈论“语料库”,现在是时候了解它是“何方神圣”
LED行业词语中英对应
1、led 灯具构成英文led 球泡灯:led bulbLed 贴片灯珠:SMD LEDLed驱动电源:led driver隔离电源:isolated driver非隔离电源:
本企业新闻

点击拨打: