如果企业提供 IT 在线服务,那么可观测性能力是必不可少的。“可观测性” 这个词近来也越发火爆,不懂 “可观测性” 都不好意思出门了。但是可观测性能力的构建却着实不易,每个企业都会用到一堆技术栈来组装建设。比如数据收集,可能来自某个 exporter,可能来自 telegraf,可能来自 OTEL, ...
健康检查维持着系统的稳定运行, 极大的加速着服务的响应时间, 并保证服务器不会把消息包转发到不能响应的服务器上, 从而使系统快速稳定的运转 ...
用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP内网穿透支持修改头信息项目 涉及HTTP1.1 chunked, http2, keep-alive ...
9. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP2改造篇之HPACK示例, 了解http2头信息如何处理 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github: https://github.com/ti ...
用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP改造篇之HPACK原理 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy HTTP/2的 ...
用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP及TCP内网穿透原理及运行篇 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy 内网、公 ...
用Rust手把手编写一个wmproxy(代理,内网穿透等), 通讯协议源码解读篇 项目 ++wmproxy++ gite: https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy 事件模型的选取 OS线程, ...
1. 常规函数 函数都拥有显示的类型签名,其本身也是一种类型。 1.1 函数类型 自由函数 // 自由函数 fn sum(a: i32, b: i32) -> i32 { a+b } fn main() { assert_eq!(3, sum(1, 2)) } 关联函数与方法 struct A(i3 ...
目录Rust 开发环境设置0.1 安装 rust编译器及工具链0.2 CargoCargo 的使用构建可执行(Executable)项目构建 Library 项目0.3 vscode 配置 Rust 开发使用 VScode 上使用LLDB调试 Rust 程序 Rust 开发环境设置 0.1 安装 r ...
你可能会为不同版本的工具链而烦恼,就算是 ruster 也一样。介绍一个非常好用的管理工具给大伙,就是使用 Rustup 安装和更新 Rust 工具链。安装 Rustup 之后,可以在 stable, beta,和 nightly 等版本的 Rust 编译器工具之间无缝切换。 ...
C++和Rust通过wasmtime实现相互调用实例 1 wasmtime介绍 wasmtime是一个可以运行WebAssembly代码的运行时环境。 WebAssembly是一种可移植的二进制指令集格式,其本身与平台无关,类似于Java的class文件字节码。 WebAssembly本来的设计初衷 ...
用Rust手把手编写一个Proxy(代理), 动工 项目 ++wmproxy++ gitee 传送门 github 传送门 设计流程图 flowchart LR A[客户端] -->|Http| B[代理端] --> C[代理服务端] --> D[服务端] B -->|直达| D A -->|Htt ...
gRPC 是开发中常用的开源高性能远程过程调用(RPC)框架,tonic 是基于 HTTP/2 的 gRPC 实现,专注于高性能、互操作性和灵活性。该库的创建是为了对 async/await 提供一流的支持,并充当用 Rust 编写的生产系统的核心构建块。今天我们聊聊通过使用tonic 调用grpc... ...
日志是应用程序的重要组成部分。无论是服务端程序还是客户端程序都需要日志做为错误输出或者业务记录。在这篇文章中,我们结合log4rs聊聊rust 程序中如何使用日志。 ...
上次我们聊到 CLI 的领域交互模式。在领域交互模式中,可能存在多层次的子命令。在使用过程中如果全评记忆的话,命令少还好,多了真心记不住。频繁 --help 也是个很麻烦的事情。如果每次按 'tab' 键就可以提示或补齐命令是不是很方便呢。这一节我们就来说说 'autocommplete' 如何实现... ...
我们来看看如何通过几个步骤快速的实现一个功能相对齐全的CLI程序。和做饭一样,能够快速获得成就感的方式是找半成品直接下锅炒一盘 ...
2021年上半年,撸了个rust cli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:[https://github.com/jiashiwen/interactcli-rs。](https://github.com/jiashiwen/interactcli- ...
# RUST 和 GO 如何管理它们的内存 ## Go 中的内存管理 Go 中的内存不会在缓存键被驱逐时立即释放。 相反,垃圾收集器会经常运行以发现任何没有引用的内存并释放它。 换句话说,内存会一直挂起,直到垃圾收集器可以评估它是否真正不再使用,而不是在不再需要时立即释放。 Go 必须付出的努力来找 ...
# 《Rust编程之道》学习笔记一 ## 序 ### Rust语言的主要特点 - 系统级语言 - 无GC - 基于LLVM - 内存安全 - 强类型+静态类型 - 混合编程范式 - 零成本抽象 - 线程安全 ### 程序员的快乐 何谓快乐?真正的快乐不仅仅是写代码时的“酸爽”,更应该是代码部署到生产 ...
在实际开发过程中,我们可能会遇到并发写文件的场景,如果处理不当很可能出现文件内容乱序问题。下面我们通过一个示例程序描述这一过程并给出解决该问题的方法。 ...