45|阶段实操(8):构建一个简单的KV server-配置/测试/监控/CI/CD
陈天
该思维导图由 AI 生成,仅供参考
你好,我是陈天。
终于来到了我们这个 KV server 系列的终章。其实原本 KV server 我只计划了 4 讲,但现在 8 讲似乎都还有些意犹未尽。虽然这是一个“简单”的 KV server,它没有复杂的性能优化 —— 我们只用了一句 unsafe;也没有复杂的生命周期处理 —— 只有零星 'static 标注;更没有支持集群的处理。
然而,如果你能够理解到目前为止的代码,甚至能独立写出这样的代码,那么,你已经具备足够的、能在一线大厂开发的实力了,国内我不是特别清楚,但在北美这边,保守一些地说,300k+ USD 的 package 应该可以轻松拿到。
今天我们就给 KV server 项目收个尾,结合之前梳理的实战中 Rust 项目应该考虑的问题,来聊聊和生产环境有关的一些处理,按开发流程,主要讲五个方面:配置、集成测试、性能测试、测量和监控、CI/CD。
配置
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了构建简单KV server所需的关键技术和实践方法。作者首先讨论了使用serde和toml处理配置文件的重要性,并展示了如何简化服务端和客户端的创建过程。接着,作者强调了集成测试的必要性,并展示了一个简单的集成测试代码,以确保客户端和服务器的完整交互正常工作。在文章的后半部分,作者介绍了如何进行性能测试,使用criterion库进行基本性能测试,并生成漂亮的报告。通过实际测试,读者可以了解服务器处理publish的速度,并通过性能测试结果进行优化。文章还介绍了如何使用jaeger进行性能监控和测量,以及如何通过修改代码来优化性能。文章内容丰富,对于想要深入了解构建KV server的读者来说,是一篇非常有价值的技术文章。文章还介绍了如何使用github action对Rust代码进行CI,以及如何在每次push tag时进行release。整个系列通过丰富的实例和详细的讲解,为读者提供了构建KV server的全面指南,使读者能够快速掌握关键技术和实践方法。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《陈天 · Rust 编程第一课》,新⼈⾸单¥68
《陈天 · Rust 编程第一课》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(12)
- 最新
- 精选
- Rayjun老师的工程底子是真的厚,我感觉整个课程下来,学 rust 是其次,更重要的是学到了老师做工程的方法,太棒了
作者回复: 👍
2021-12-13216 - 乌龙猹这确实是 Rust 编程的第一课 但确是每一个务实程序员的必修课 在做一项工程时,老师的思维方式拆解问题的方法都毫无保留的分享出来 值得我们反复去阅读 反复理解 等什么时候能达到融会贯通 举一反三的时候 那时候就离 300k 的 package 不远了
作者回复: 加油!
2021-12-136 - 吴云阁这节课的内容不仅仅是rust编程,更是毫无保留的分享工程方法。老师不仅仅是一个极其优秀的工程师,也是一个极其优秀的教学者。非常值得学习。
作者回复: 谢谢!
2021-12-155 - yyxxccc看到300k的pkg,又增加了持续反复啃的动力😂
作者回复: 加油!
2021-12-134 - 罗杰实操项目 120 分,我要抽出连续时间好好完成这个项目,该专栏真的值得看十遍。
作者回复: 谢谢 :)
2021-12-131 - 楠楠嘻嘻确实厉害!真的是rust in action!
作者回复: :)
2021-12-13 - 进击的Lancelot思考题实现:https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=d6037374ea479690681fecf425424cbb2022-10-13归属地:广东1
- 啦啦啦啦啦啦啦想问下老师在跑 性能测试在 mac下 不会抛出 `Too many open files (os error 24)` 错误吗2022-03-2021
- 风吟“在有 100 个 subscribers 的情况下,我们的 KV server 每秒钟可以处理 714k publish 请求”。陈老师,这里“714k”中的k怎么算的,不应该是每秒钟可以处理714个请求吗?2023-12-28归属地:北京
- 心看世界真的,真的,真的不错,感谢老师的分享。2023-03-28归属地:陕西
收起评论