Rust 程序设计语言 简体中文版 1.85.0
会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 Rust 来提升信心。例如,在 Rust 中引入并行是相 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、网络服务器等 你编写更快、更可靠的软件。在编程语言设计中,高层的工程学与底层的控制往往是难以兼得 的;而 Rust 则试图挑战这一矛盾。通过平衡强大的技术能力与优秀的开发者体验,Rust 为你 提供了控制底层细节(如内存使用)的选项,而无需承受通常与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已被证明是一个对于具有不同系统编程 常高效的 工具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测 试和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒 绝编译包含这些难以察觉的错误的代码,包括并发错误。通过与编译器合作,团队可以将时间 集中在程序逻辑上,而不是追踪 bug。 Rust 也为系统编程世界带来了现代化的开发工具: • Cargo 是内置的依赖管理器和0 码力 | 562 页 | 3.23 MB | 10 天前3TiDB中文技术文档
tidb-server --store=memory 来启动一个纯内存引擎的 TiDB 启动 TiDB 服务器时,通过 --config path 可以指定服务器的配置文件。对于配置中重叠的选项,命令行启动参 数的优先级高于配置文件。 一份配置文件的示例参见 https://github.com/pingcap/tidb/blob/master/config/config.toml.example 事务遇见冲突时,提交事物最大重试次数 默认: 10 设置较大的重试次数会影响 TiDB 集群性能 允许任何人不带密码连接,并且所有的操作不检查权限 默认: false 值可以是(true) or (false)。启用此选项需要本机的 root 权限,一般用于忘记密码时重置 增量扫描全表并分析表的数据量 索引等一些信息 默认: “3s” 使用此参数需要先手动执行 analyze table name; 自动更新统计信息 持久化存储到 TiKV,会耗费一些 内存开销, TiDB 在 tcp 层开启 keepalive 默认: false PEM 格式的 SSL 证书文件路径 默认: “” 当同时设置了该选项和 --ssl-key 选项时,TiDB 将接受(但不强制)客户端使用 TLS 安全地连接到 TiDB。 若指定的证书或私钥无效,则 TiDB 会照常启动,但无法接受安全连接。 PEM 格式的 SSL 证书密钥文件路径,即0 码力 | 444 页 | 4.89 MB | 6 月前3Curve文件系统元数据持久化方案设计
Page 9 of 12 单靠 redis 的 AOF 机制能否保证数据不丢失? 不能,因为 AOF 与 SET/DEL 这些操作不是同步进行的,即使刷入文件配置项 开启最高级别的 always 选项,也有可能丢失一个事件循环的数据,实现如下: appendfsync // : call(...) // propagate(...) feedAppendOnlyFile(cmd ) (2) 文件写入: 将 AOF 缓冲区的内容以 append 方式写入文件 (详见: aof.c/flushAppendOnlyFile) (3) 文件同步: 根据 appendfsync 配置选项决定文件同步频率, 该步骤与步骤 2 紧密关联 (详见: aof.c/flushAppendOnlyFile)© XXX Page 10 of 12 1. 所以,AOF 不能保证数据 100%0 码力 | 12 页 | 384.47 KB | 5 月前3CurveFs 用户权限系统调研
任何权限检查之外,内核还会进行检查,并且两者都必须成功才能允许操作 。 。 。 内核执行标准的 UNIX 权限检查 如果文件系统在打开设备 fd 时的初始功能协商期间启用了 ACL 支持,则此挂载选项将被隐式激活。 在这种情况下,内核执行 ACL 和标准的 unix 权限检查 疑问:协商期间do_init()中的启用ACL的flags如何设置? 初始化时的 通过 : 功能协商 init()函数实现© * For future use.© XXX Page 14 of 33 */ unsigned reserved[22]; }; 未实现任何权限检查的文件系统通常 应在内部添加此选项,可与参数‘allow_other’一起达到共享文件访问控制。© XXX Page 15 of 33 # LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc0 码力 | 33 页 | 732.13 KB | 5 月前3探讨和实践基于Istio的微服务治理事件监控
库 • 编写k8s的deployment和service配置文件 • 部署应用基于Mixer的二次开发Hanlder Handlers 。为适配器提供配置。例如,到后端的 URL 、证书、缓存选项等等。基于Mixer的二次开发Instances Instances。属性映射。基于Mixer的二次开发Rules Rules。将数据交付给适配器。 定义了一个特定的 Instance 何时调用一个特定的0 码力 | 29 页 | 8.37 MB | 5 月前3严选 ServiceMesh 实践
在一定压力访问或 有客户端主动断开请求时,会进入一段存在问题的断言(assert)逻辑,导致 envoy crash, 此时请求方体现为 502 异常 • 社区目前给出的优化建议是在 envoy 编译选项使用 -opt(默认为 -dbg) • 社区已在新版本清理这段问题断言逻辑:https://github.com/envoyproxy/envoy/issues/9083 • Mixer 性能陷阱0 码力 | 25 页 | 2.07 MB | 5 月前3BRPC与UCX集成指南
BRPC的Server开启RDMA server类有如下成员函数, 如何指定开启ucx连接?37 修改 BRPC ServerOptions ●ServerOptions添加成员 ●当前取舍的:TCP总是可用的, UCX作为选项38 Ucp Context ●只有一个全局对象,使用下列函数获取 ●UCP_Context* get_or_create_ucp_ctx() ●指定了FEATURE_AM, 多线程共享390 码力 | 66 页 | 16.29 MB | 5 月前3Service Mesh的实践分享
用户与Istio的区别 我是作者名称没有对称的server端agent • 性能考虑 • Proxy已经增加了一跳,server再增加一跳会加剧 性能压力 • 部署考虑 • 服务端agent成为必选项会增加运维压力 • OSP server默认没有agent,web server只带一个 服务注册agent • 服务端的一些治理、trace、鉴权功能通过代码插 件的方式实现 • 治理效果考虑0 码力 | 30 页 | 4.80 MB | 5 月前3
共 8 条
- 1