前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我们正在被 DDoS 攻击,但是我们啥也不干,随便攻击...

我们正在被 DDoS 攻击,但是我们啥也不干,随便攻击...

作者头像
米开朗基杨
发布2024-04-02 15:59:22
620
发布2024-04-02 15:59:22
举报
文章被收录于专栏:云原生实验室云原生实验室

最近,一场激烈的攻防大战在网络世界悄然上演。

主角不是什么国家安全局或者黑客组织,而是一家名不见经传的创业公司——TablePlus[1]

DDoS 攻击者们摩拳擦掌,跃跃欲试。他们从四面八方蜂拥而至,誓要用数亿次请求把 TablePlus 的服务器挤爆、搞垮。特别是那些来自德国和英国的流量,简直有如滔滔洪水,一泻千里。短短5天内,他们就发起了 8000 多万次下载请求,妄图耗尽 TablePlus 的带宽和计算资源。

面对这场声势浩大的入侵,TablePlus 的小伙伴们该怎么办?他们会惊慌失措,向 Cloudflare 求救吗?会忙着屏蔽 IP,关闭服务吗?

答案竟然是:啥也不干,该吃吃该喝喝,好似根本没发生什么大事儿。要不是 CPU 偶尔从 0%蹦到 1%,服务器都要怀疑自己是不是患上了 “分离性身份识别障碍”。TablePlus 家的服务器个个身经百战,这点小打小闹根本不放在眼里。

这帮子大胆的家伙,究竟是从哪儿来的底气?

这种淡定,源自 TablePlus 在架构设计上的独特选择——单体应用。与当下流行的微服务架构不同,TablePlus 选择将所有功能集中在一个服务中,包括 API、网站前端、支付等等。这种 “大一统” 的架构虽然看似简单,但却有着不可小觑的优势。

别人为微服务、容器、编排操碎了心,TablePlus 只需一个二进制文件,拿来就上。

为了最大化单体应用的性能,TablePlus 在技术选型上颇下了一番功夫。他们选择了 Golang 和 Rust 这两种高性能语言作为主要开发工具。凭借着这两门语言出色的并发处理能力和内存管理机制,单个 TablePlus 服务就能轻松应对数十亿的请求。

但光有优秀的语言还不够,TablePlus 在软件工程的各个方面也精益求精,力求将单体服务的性能发挥到极致。

他们会对关键数据库建立索引,提升查询效率;

对核心数据库和非核心数据 (如日志) 进行分离存储,确保主要业务不受影响;

使用 Nginx 作为反向代理,灵活调度和分发请求;

借助 Cloudflare 提供的 CDN、SSL 等功能,进一步提升性能和安全性。

精心打造的单体服务,再加上优化到位的部署环境,让 TablePlus 拥有了一套简洁而高效的架构。在高并发场景下,这套架构展现出了惊人的性能,即便面对 DDoS 攻击也从容不迫。

当然,功夫再高也怕菜刀。再厉害的服务,也得琢磨怎么用起来。在部署方面,TablePlus 同样追求简单和高效。他们充分利用了 Golang 和 Rust 的特性,将服务编译成单个二进制文件,然后直接在 Linux 服务器上运行。这种 “无依赖” 的部署方式,不仅简化了运维工作,也最大限度地发挥了服务器的性能。

TablePlus 的工程师们还利用 Linux 的 Systemctl 来管理服务进程,实现了自动重启、监控等功能,进一步提高了系统的可靠性。相比动辄上百个微服务的复杂架构,TablePlus 的部署可谓简单到了极致。

就这样,TablePlus 凭借精心设计的单体应用架构和极简部署,将系统性能和效率提升到了一个新的高度。面对 DDoS 攻击,他们从容应对,展现出了架构设计的威力。

什么容器、VM、编排,在 TablePlus 面前都成了花拳绣腿,不值一提。

有了单体应用真经护体,TablePlus 在 DDoS 攻击面前自若从容。数亿请求来了,系统服务扛得住;流量再猛,Cloudflare 顶得住;就算攻击再升级,单体架构依然屹立不倒。

这个故事告诉我们,任何事物都有它的两面性。单体应用看似简陋,但在特定场景下也能一展其威风。键是要根据自身业务特点,因地制宜,扬长避短,就像 TablePlus 这般,知己知彼,百战不殆。

在这个讲究 “敏捷”、“弹性” 的年代,TablePlus 的 “单刀赴会” 无疑有些悲壮。但他们用自己的实际行动告诉世人:做好架构,管它单体还是微服务;强调性能,其他都是浮云

这个故事也提醒我们,技术从来就不是非黑即白的。评判一项技术的好坏,不能脱离具体的应用场景。适合自己的,才是最好的。保持开放和创新的心态,拥抱变化,我们才能在瞬息万变的技术浪潮中,找准自己的定位。

微服务固然潮流,但单体应用也自有其存在的理由。关键是找准定位,扬长避短,让优势最大化。

就像 TablePlus 这样,当别人还在追逐时髦时,他们已经悄悄登上了性能的巅峰。这种 “逆势而为” 的勇气和智慧,值得我们每个人思考和学习。

引用链接

[1]

TablePlus: https://tableplus.com/blog/2024/03/how-we-deal-with-ddos.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引用链接
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档