当前位置: 首页 > wzjs >正文

济南网站建设培训万能导航网

济南网站建设培训,万能导航网,一个空间怎么做多个网站,wordpress导入工具栏🤖 VOLO简介 Volo 是由字节跳动服务框架团队开源的一款高性能、易用的 Rust RPC 框架。 Volo 框架自身开销极低,并提供了命令行工具与灵活的中间件设计,让开发者可以轻松上手,享受 Rust 带来的开发乐趣。 本文介绍自 Volo-HTTP 0…

🤖 VOLO简介

Volo 是由字节跳动服务框架团队开源的一款高性能、易用的 Rust RPC 框架。

Volo 框架自身开销极低,并提供了命令行工具与灵活的中间件设计,让开发者可以轻松上手,享受 Rust 带来的开发乐趣。

本文介绍自 Volo-HTTP 0.3.0 版本以来的变更。

🚀 功能亮点

1.客户端易用性提升

此前的应用中,为了追求性能,我们在 Client 中使用了大量泛型,这导致其类型定义异常复杂,相关的错误信息也令人费解,增加了开发者的理解成本。

为了解决这个问题,我们在新版本中对 Client 的封装方式进行了优化,通过在最外层使用 Box 来包装内部的 dyn Future。这一改动在确保类型简洁易用的同时,几乎不会引入额外的性能开销。 具体对比如下:

  • 旧版本 (0.3.0): 用户需要构建一个带有复杂泛型类型的 DefaultClient
  • 新版本 (0.4.0): 用户可以直接使用 Client,类型更清晰,使用更简单。

2.支持HTTP/2

新版本现已为服务端和客户端提供了完整的 HTTP/2 支持,并且客户端也已支持连接池功能。

🔧其他变更

1.删除客户端的默认Target

考虑到客户端的默认Target使用频率不高,但却使Target的选择逻辑过于复杂,我们在此版本中移除了它。

不过,我们添加了TargetLayer,可以强制Client设置Target,这样可以提供与以前类似的体验。

  • 随着默认 Target 的移除,默认 Host 的配置也被一并移除。我们重构了原有的 Host Layer,使其更加灵活,现在支持 None, Auto, Force, Fallback 四种模式。
  • 默认的 callee name 已被移除,推荐使用 TargetLayerwith_callee_name 方法来代替。该方法主要用于通过 IP 地址访问 HTTPS 服务,并需要设置 SNI(服务器名称指示)的场景。
  • RequestBuilder::full_uri 已被移除。我们推荐通过 Layer 的方式来实现该功能,而非直接在 RequestBuilder 中操作。相关示例将稍后发布。

2.其他优化与调整

  • 命名统一: DefaultLBDefaultLBService 已重命名为 DefaultLbDefaultLbService
  • 废弃项移除: 移除了已废弃的 ClientRequest, ServerRequest, ClientResponse, ServerResponse 类型。
  • 代码简化: 减少了部分不必要的泛型约束。
  • 日志修复: 修复了当discoverwatch channel 关闭时,会无限循环打印警告日志的问题。
  • 新增代理支持: 新增 HttpProxyLayer,以支持 RFC7230 中定义的 HTTP 代理。
  • 可观测性: HTTP 服务端现已支持 SpanProvider

🐞Bug修复

  • 现在使用 DiscoverKey 作为 Discover::Key,替代了原先的 (FastStr, u16) 元组。这解决了因域名带有端口,而导致的意外缓存问题。

重大变更

1.简化客户端

  • 以下复杂的类型别名已被彻底移除:
    • ClientMetaService
    • ClientService
    • SimpleClient
    • DefaultClientOuterService
    • DefaultClient
  • Client 的泛型类型已从内部服务 (S) 调整为请求体和响应体 (ReqBodyRespBody)。在绝大多数场景下,用户可以直接使用 Client 而无需关心其泛型类型。

2.支持 HTTP/2

  • 为支持 HTTP/2,我们引入了新的 Cargo features:"http1""http2"
  • 默认 features 已更新为 ["default-client", "default-server"]
  • 请注意,"default-client""default-server" 仅启用 HTTP/1。

3.移除客户端的默认Target

  • 以下与默认 Target 相关的函数已从 ClientBuilder 中移除:
    • ClientBuilder::address
    • ClientBuilder::host
    • ClientBuilder::with_port
    • ClientBuilder::with_scheme
    • ClientBuilder::target_ref
    • ClientBuilder::target_mut
  • Host Layer 已被重构,ClientBuilder::default_host 已更新为 ClientBuilder::host_mode
  • RequestBuilder::full_uri 已被移除。

📄完整更新日志

volo-http-0.3.0...volo-http-0.4.0[1]

参考资料
[1]

volo-http-0.3.0...volo-http-0.4.0: https://github.com/cloudwego/volo/compare/volo-http-0.3.0...volo-http-0.4.0

http://www.dtcms.com/wzjs/353530.html

相关文章:

  • 网站难做广东河源最新疫情
  • 做外贸都做哪些网站好免费seo网站推广
  • 苍溪县建设局网站网站关键词优化推广
  • 网站ftp的所有权归谁2022十大网络营销案例
  • 网站 权重百度官方优化指南
  • 新兴网站建设国内的搜索引擎排名
  • 网站图片如何做链接百度平台客服联系方式
  • 手机网站建设推广软文网站开发是做什么的
  • 自学做网站google seo是什么啊
  • 仿业务网站源码seo是做什么工作内容
  • 电商网站是获取流量seo优化推广
  • 哪个网站可以做中国代购最新收录查询
  • bdcms 网站百度商店
  • gateface能用来做网站吗产品网络推广的方法有哪些
  • 网络营销跟做网站有什么区别品牌整合营销
  • 百度网站考核期雅虎搜索引擎入口
  • 昆明做网站建设有哪些怎样联系百度客服
  • 武汉网站优化怎么做微信引流推广
  • 广州建设高端网站怎么制作seo搜索优化
  • 微信小程序推广佣金seo优化论坛
  • 网络销售怎么做网站免费网站的软件
  • 网页被禁止浏览怎么解决搜索引擎seo优化平台
  • wordpress网站搭建友情链接收录
  • 太原网站建设优化新闻早知道
  • 顺义做网站的公司电商sem是什么意思
  • 银行网站建设前期合同百度网盘下载速度
  • 中山 在门户网站推广做网站公司
  • 湖北自适应网站建设价格郑州关键词网站优化排名
  • 十几万 建设网站连云港seo
  • 网站建设创建新网站百度收录要几天