首页 > 其他分享 >我们正在被 DDoS 攻击,但是我们啥也不干,随便攻击...

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

时间:2024-03-31 14:56:27浏览次数:26  
标签:... 服务 TablePlus 攻击 单体 DDoS 架构

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

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

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

标签:...,服务,TablePlus,攻击,单体,DDoS,架构
From: https://www.cnblogs.com/ryanyangcs/p/18106732

相关文章

  • 以我国为目标的网络攻击中发现 DinodasRAT的Linux版本;黑客伪装成印度空军进行钓鱼攻击
    关键词:Linux;TinyTurla-NG;Github;Checkmarx;软件供应链攻击;1.以中国在内的多个国家为目标的网络攻击中发现DinodasRAT的Linux版本卡巴斯基的最新发现揭示,一款名为DinodasRAT的多平台后门程序的Linux版本已在野外被发现,其攻击目标包括中国、台湾、土耳其和乌兹别克斯坦。D......
  • 服务器被DDOS了,直接把服务器关机吧
    在平凡不能再平凡的一天,我的手机收到了一封邮件,说我的服务器正在被DDOS,震惊我100年 我一个小网站,平时和谁无冤无仇的,打我干嘛。于是我开始在网上找关于DDOS后,服务器的防范措施,基本上都是说什么买高仿IP。后面我就去看了看高仿IP的价格,没想到要几w,我的天,把我卖了都买不起,这......
  • 【python】深入探讨flask是如何预防CSRF攻击的
    ✨✨欢迎大家来到景天科技苑✨✨......
  • AIGC、3D模型、轻量化、格式转换、可视化、数字孪生引擎...
    老子云3D可视化快速开发平台,集云压缩、云烘焙、云存储云展示于一体,使3D模型资源自动输出至移动端PC端、Web端,能在多设备、全平台进行展示和交互,是全球领先、自主可控的自动化3D云引擎。平台架构平台特性基于HTML5和WebGL技术,可在主流浏览器上进行快速浏览和调试,支持P......
  • 求 1 - 1/2 + 1/3 - 1/4 + 1/5 -... + 1/99 - 1/100
    通过分析,可以发现:分子不变分母++符号———》分母是偶数就为负,分母为奇数则为加号累加//1-1/2+1/3-1/4+...+1/99-1/100=?#include<stdio.h>intmain(){doublesum=1.0;for(inti=2;i<101;i++){//i即分母if(i%2==0){//......
  • C/C++ 语言中的 ​if...else if...else 语句
    C/C++语言中的​if...elseif...else语句1.`if`statement2.`if...else`statement3.`if...elseif...else`statementReferences1.ifstatementThesyntaxoftheifstatementis:if(condition){//bodyofifstatement}Thecodeins......
  • MySQL各类查询语句DQL--like in between...and
    数据库名称可以为【schoolDB】,字符集【utf8】,排列规则【utf8_general_ci】建立表CREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DE......
  • 安装并配置fail2ban防止cc攻击
    通过下面命令安装fail2banyum-yinstallfail2ban启动systemctlstartfail2ban查看状态systemctlstatusfail2ban设置开机启动systemctlenablefail2ban检查版本fail2ban-client-Vfail2ban-sever-V检查配置文件是否有误fail2ban-client-d配置后需要重启服......
  • C语言例4-29:计算1+2+...+100之和(利用do-while语句实现)。
    代码如下://计算1+2+...+100之和(利用do-while语句实现)。#include<stdio.h>intmain(void){ intn=1,sum=0; do { sum=sum+n; n++; }while(n<=100); printf("sum=%d\n",sum); return0;}结果如下:说明:本例中do-while循环和while循环完成相同的功能。但是,当......
  • 钓鱼攻击
    简介钓鱼攻击,原名Phishing Attack,是一种常见的网络欺诈手段,攻击者通过伪装成可信实体,诱骗受害者提供敏感信息,如用户名、密码、信用卡详情等。这种攻击通常通过电子邮件、社交媒体、短信或即时消息进行。钓鱼攻击的目的是获取受害者的个人信息,用于身份盗窃、金融诈骗或其他恶......