小服务器部署 K3s 并部署微服务实践
一、为什么是 K3s
我有一台 2C2G 的云服务器,跑一些个人项目。想用来学习一下 k8s,顺便把我跑的那些项目都迁到 k8s 上,但是看了一下性能要求,估计是撑不住,后来我发现了一个叫 k3s 的东西。
我有一台 2C2G 的云服务器,跑一些个人项目。想用来学习一下 k8s,顺便把我跑的那些项目都迁到 k8s 上,但是看了一下性能要求,估计是撑不住,后来我发现了一个叫 k3s 的东西。
在单体架构时代,一个请求的所有逻辑都在同一个进程中执行,调试和排查问题相对简单:查看日志、打断点、分析堆栈,基本能定位到问题所在。
但在微服务架构下,一个用户请求可能会经过网关、认证服务、订单服务、支付服务、库存服务等多个服务。当请求失败或响应缓慢时,问题可能出现在链路中的任何一个环节:
工作中接触了微服务架构,大多基于 Java 或 Go。作为 Rust 爱好者,想尝试用 Rust 写一套适合实际业务的微服务框架。另外我自己写了一个记账App一直在运行中,自己也一直在用,于是刚好用Rust和微服务架构来重构一下。Rust上并没有已有的成熟微服务框架,于是我刚好自己去实现(或者说接入)微服务通信、上下文处理、trace等功能,来加深对微服务系统的理解。
在比对两张图片的相似度时,有很多相似度指标例如aHash、pHash、dHash、SSIM等,SSIM比较常用。而我在想能不能用一个深度学习模型来解决这件事,让它能忽略一些能接受的小差异,但是向数字有变化这种差异即使在像素上很小,也能检测到。我发现孪生网络比较合适。
在调研精准测试方案时,我们发现测试用例、代码函数、依赖关系等本质上都是图结构:测试用例调用类中的函数,函数之间存在调用依赖。Neo4j 作为最流行的原生图数据库,非常适合用来存储这些调用和依赖关系。
Finetest 是一个基于 Python + Selenium + pytest 的 Web 自动化测试框架,框架集成了智能元素定位、可视化回归测试、用例录制回放、文件对比等功能,旨在降低 UI 自动化测试的门槛,降低维护成本,提高测试效率。