自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 构建高可用DDoS防御系统:从理论到工程实践的全链路攻防指南

本文从理论模型到代码实现,从架构设计到实战演练,系统阐述了构建现代化DDoS防御体系的关键要素。记住:真正的安全不是绝对防御,而是在攻防对抗中持续进化。建议每周开展红蓝对抗演练,每月更新威胁情报库,让防御系统始终跑在攻击者前面。

2025-03-30 07:00:00 751

原创 基于Java与Go的下一代DDoS防御体系构建实战

Java层:Spring Cloud Gateway + Resilience4j实现应用层防护Go层:gopacket + gobgp实现网络层过滤混合架构:JNI调用实现特征库共享# 防御系统健康检查脚本/bin/bash}'关键性能指标单节点处理能力:Go实现200Gbps线速过滤规则匹配延迟:Java引擎<500μs全链路时延:<15ms(含协议解析+决策)防御体系的本质是与攻击者进行「资源消耗效率」的竞赛,通过Java与Go的混合架构实现计算密度与IO效率的最佳平衡。

2025-03-29 20:41:11 1238

原创 单机百万级SSE服务实战(工业级代码+极限调优)

— 从零构建800K并发推送系统,完整代码可直接投产。

2025-03-26 23:26:26 1050

原创 使用 Go 和 Gin 实现高可用负载均衡代理服务器

在现代分布式系统中,负载均衡是保障服务高可用性和性能的核心技术。本文将基于Go语言和Gin框架实现一个支持动态路由、健康检查、会话保持等特性的企业级负载均衡代理服务器,并提供完整的压力测试方案和优化建议。单节点支持10k+ QPS请求转发延迟达到亚毫秒级提供99.99% 的可用性保障动态配置热更新能力通过本文介绍的实现方案,我们成功构建了一个高性能、高可用的负载均衡代理服务器。它不仅满足了现代分布式系统的需求,还提供了灵活的扩展能力和完善的性能优化策略。

2025-03-26 00:24:56 440

原创 Java开发者的消息队列完全指南:从入门到实战

立即动手创建一个Spring Boot项目,尝试集成RabbitMQ或Kafka吧!遇到问题记得查看官方文档和社区讨论~

2025-03-24 21:40:15 318

原创 手把手实现MySQL与Elasticsearch数据双写与搜索方案

/ getters​写路径:采用双写+异步补偿机制,保证最终一致性读路径:根据查询复杂度智能路由,兼顾事务与搜索性能生产就绪:包含监控、告警、自动恢复等企业级特性Elasticsearch官方文档Spring Data最佳实践。

2025-03-23 12:27:16 325 1

原创 小白也能做AI智能客服

智能AI 客服智能体开发流程

2025-03-10 10:56:44 248

原创 纯小白 Centos 部署DeepSeek指南

uname -m如果Centos 不能访问github ,需要在本地下载完成后进行上传。

2025-02-11 16:57:08 5100 1

原创 Android 热更新技术实现方案-Tinker

Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。Tinker 官网地址:https://github.com/Tencent/tinker市面上的热修复工具很多,比较流行的无非有阿里的AndFix、美团的Robust以及QZone的超级补丁方案。但它们都存在无法解决的问题。他们具体的对比如下:通过以上对比和实际情况,选择了Tinker。特别是在Android N之后,由于混合编译的inline策略修改,对于市面上的各种方案

2024-12-11 16:29:35 2030

原创 go 面试题实现一个内存缓存系统

【代码】go 面试题实现一个内存缓存系统。

2024-09-16 02:46:08 349

原创 SpringBoot 服务升级零停机的方案

【代码】SpringBoot 服务升级零停机的方案。

2024-09-13 15:18:36 456

原创 Java线程那些事

所谓进程就是我们经常听说的应用程序,也就是APP,有指令和数据组成。但是当我们不运行一个具体的APP 时,这些应用程序也就是放在磁盘或者U盘等地方上的一些二进制代码。一旦我们运行这些应用程序,指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行的过程中,还需要用到磁盘,网络等设备,从这个角度来说,进程就是用来加载指令、管理内存,管理IO。当一个程序被运行起来,从磁盘加载这个程序的代码至内存,这就是开启了一个进程。进程可以视为程序的一个实例。大部分程序都是可以同时运行多个实例进程的。

2024-09-10 22:21:04 1338

原创 Redis 那些事(三)

而且哨兵模式只有一个主节点对外提供服务,没有办法支持很高的并发,且单个节点内存也不宜设置过大,否则会导致持久化文件过大,影响数据的恢复或者主从同步。redis 集群是一个由多个主从节点组成的分布式服务器集群,它具有复制、高可用和分片的特性,Redis 集群不需要哨兵(sentinel)也能完成节点移除和故障瞬移的功能。这里需要将每个节点都设置成集群模式,这种集群模式没有中心节点,但是可以水平扩展,根据官方文档中的内容,这种节点可以扩展到上万个节点(但是其推荐的节点建议不要超过1000个)。

2024-09-07 21:37:49 628

原创 datax 常见问题

查看MAVEN 版本号是否为:3.5.4。这里有个很奇怪的问题,他编译要使用的MAVEN 版本号必须为3.5.4。原因:这是由于使用二进制安装包中的datax 相关的jar 出现的问题。千万不要使用Maven 工具进行编译操作。使用以下命令在命令行中进行编译。

2024-09-05 14:33:42 546

原创 Redis那些事(二)

客户端可以一次性发送多个请求而不用等待服务器的响应,待所有命令都发送完成在一次性读取服务器的响应.这样可以极大的降低多条命令执行的网络传输开销.管道执行多条命令的网络开销实际上只相当于一次命令执行的网络开销.需要注意的是用Pipline 方式打包命令发送.redis 必须在处理完所有命令前先缓存起来所有命令的处理结果,打包的命令越多,缓存消耗的内存也就越多,所以并不是打包命令越多越好.

2024-09-04 22:38:31 1532

原创 Zookeeper 那些事(一)

Zookeeper 是一个**开源分布式协调框架**,是由Apache Hadoop 的子项目,主要用来处理分布式集群中应用的一致性问题。Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并且以一系列简单易用的接口提供给用户使用。它的官方网址为:它的示例图如下:ZooKeeper本质上是一个分布式的小文件存储系统(Zookeeper=文件系统+监听机制)。提供基。

2024-09-04 00:47:03 820

原创 Redis 那些事( 一 )

REmote Dictionary Server (Redis) 是由Salavtore Safilippo 编写的Key-Value 存储系统,它是一个开源的使用ANIS C 编写,遵守PSD协议,支持网络,可基于内存,分布式,可选持久性的存储数据库,并提供多种语言API。

2024-09-02 20:36:43 1488

原创 RabbitMQ 那些事

MQ:MessageQueue ,消息队列。可以分为两个部分来理解:队列,是一种FIFO(先进先出)的数据结构。消息:不同应用程序之间传递的数据。这里不同的应用包含不同语言编写的程序。总的来说,就是将消息以队列的形式存储起来,并且在不同程序之间进行传递,这样就成了MessageQueue.也就是MQ。

2024-09-01 22:22:24 1181

原创 ClickHouse 10亿 1S 内的实践

Ubuntu安装。

2024-01-29 13:55:31 1016

原创 ClickHouse 数据库相关

重新启动服务器时,表中的数据消失,表将变为空。通常,使用此表引擎是不合理的。但是,它可用于测试,以及在相对较少的行(最多约100,000,000)上需要最高性能的查询。primary key一定是sorting key,但sorting key不一定是primary key。从概念上来说,primary key是作为索引的,sorting key是用来排序的。同样,如果写入表失败,则该表将被破坏,并且从该表读取将返回错误。上面的查询,会先进行join 操作,然后从结果集里面去执行where 的条件过滤。

2024-01-26 11:28:09 1103 1

原创 mongodb 设置账号密码

首先,我们需要在MongoDB配置文件中启用身份验证。找到MongoDB的配置文件,在Linux系统中通常是/etc/mongod.conf,Windows系统中通常是C:\Program Files\MongoDB\Server\版本号\bin\mongod.cfg。保存并关闭配置文件。重启MongoDB服务,使配置文件生效。

2024-01-22 14:25:22 799

原创 Kotlin DSL的深入理解

kotlin DSL 记录

2023-09-10 16:58:09 273 1

POP交互软件

Photoshop设计交互时,可以使用此软件来查看设计效果。

2015-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除