其他

最终一致性和强最终一致性的区别

T796
0
最近学习了一些 CRDT(Conflict-free replicated data type,无冲突可复制数据类型)相关的知识,其中,提到,CRDT 满足强最终一致性,这是

使用 Easegress 实现 Telegram 翻译机器人

T3723
0
Easegress 2.0 版本大幅增强了流量编排功能,使用户无需编写任何代码,就可以通过编排多个 API 来实现一个超级 API。本文通过一个 Telegram 翻译机器人演示了这个功能。这个机器人可以自动将收到的消息翻译为中文、日文和英文,并且,除了文字消息,还支持翻译语音和图片消息。

无侵入式生产环境全链路压力测试

T3367
0
随着硬件性能的提升,网络带宽的增加和数据量的急剧增长,传统的单机应用已无法满足现代企业的需求,取而代之的是基于分布式的软件系统。这些软件系统在提供强大计算能力的同时,也引入了复杂性。本文介绍了一种新型的基于云原生架构的生产环境全链路压力测试技术—— Shadow Service,它通过实现业务一致性、数据一致性、资源一致性和各种隔离性,保证了测试结果的准确性和生产系统的安全。同时,我们也通过一个简化后的订单支付场景介绍了 Shadow Service 的具体使用方法。

使用 Easegress 和 WebAssembly 做秒杀

T3411
0
“秒杀”是一种经常被各家电商采用的,在短时间内提供超高折扣的促销方式。参与秒杀的商品数量一般很少,但巨大的折扣带来的流量请求激增往往会导致响应缓慢、拒绝服务,甚至宕机。 本文介绍了如何利用 Easegress 的 WasmHost 过滤器来保护秒杀中的后端服务。

首次抓到编译器 Bug

T1335
0
写代码这么多年,多次怀疑碰到了编译器 Bug,但最终却总是自己的责任,这次终于抓到了一个真正的编译器 Bug,记录一下。 最近公司的一个项目的编译

检测 Lua 脚本中的死循环

T1127
0
论坛上有人问,所以把以前做的东西拿出来秀一下。 Lua 是一门小巧精致的语言,特别适用于嵌入其它的程序为它们提供脚本支持。不过脚本通常是用户编写的,

解决了一个困惑很久的bug

T905
0
让这个 bug 困扰了很久,前一段太忙只找了个临时解决方案而没有追究原因,今天终于把它搞清楚了。由于测试时只在多 CPU 系统上出现,我甚至一度怀疑它是 CPU 的

编译选项的统一管理

T510
0
当一个 solution 中的项目越来越多以后,管理编译选项,将成为一件很麻烦的事,单独对每个项目进行设置不仅繁琐,而且容易出错。但实际上,Visual Studio 已经

命令行下进行数字签名

T412
0
网上介绍数字签名的文章,大多使用 signtool 的 signwizard 命令实现,这种方式虽说简单,却需要人为干预,不能自动执行。MSDN 上说 signtool 的 sign 命令可以在命令行中完成签名