问题背景前段时间在做智能路由的功能,需要根据用户的 IP 地址判断地理位置,然后把请求路由到最近的服务节点。本地开发的时候,怎么模拟不同地区的 IP 成了个问题。
总不能真的去各个国家部署测试机器吧?太折腾了。后来发现其实有几种简单的方法可以模拟。
方法一:修改 HTTP 请求头(最常用)大部分 Web 应用在反向代理后面(Nginx、Cloudflare 这些),服务端获取客户端 IP 主要靠 HTTP 请求头。直接修改这些头就能”伪造”IP。
原理当请求经过反向代理时,代理会在请求头里加上客户端的真实 IP。常见的头有:
X-Forwarded-For:记录请求经过的所有代理 IP 链,格式是 客户端IP, 代理1IP, 代理2IP
X-Real-IP:客户端的真实 IP(通常由 Nginx 设置)
CF-Connecting-IP:Cloudflare 用的头
服务端拿 IP 的时候,优先级一般是这样的:
flowchart LR
A[收到HTTP请求] --> B{有X-Forwarded-For?}
B -->|有| C[取第一个IP]
...
背景问题前段时间在公司接触大数据平台,顺便了解了一下调度系统的实现。发现现在用 DolphinScheduler 的团队挺多,号称分布式、可视化、高可用。就想深入扒一扒,这玩意儿到底好在哪,跟 Airflow、XXL-Job 这些有啥区别。
这篇文章就是想搞清楚几个问题:
DolphinScheduler 到底支持哪些任务类型?
它的架构是怎么设计的?怎么做到高可用的?
一个工作流从提交到执行完成,中间经历了什么?
跟其他调度工具比,有啥优缺点?
一、支持的任务类型DolphinScheduler 支持的任务类型挺多的,核心思想是所有任务都通过插件实现,不用自己写代码,Web UI 上点点配置就能跑。
1. 大数据计算类任务Spark/Flink/MapReduce
这类任务的原理很简单:插件帮你拼命令。
比如 Spark 任务,你在 Web UI 上配置:
JAR 包路径(HDFS 或本地)
主类名
资源参数(executor 数量、内存大小)
运行模式(YARN/K8s/本地)
插件拿到这些配置后,自动拼接成 spark-submit ...
ChaCha20 加密模式流程与核心原理深度解析背景问题前段时间研究加密算法,发现 ChaCha20 这玩意儿挺有意思的。Google Chrome、TLS 1.3、WireGuard VPN 都在用它,而且号称在没有 AES 硬件加速的平台上性能反而更好。
就想深入扒一扒:
ChaCha20 到底是怎么设计的?
它的核心运算机制是什么?
为什么旋转位数是 16、12、8、7 这几个数字?
跟 AES 比,到底好在哪?
这篇文章就是这些问题的答案。
概述ChaCha20 是密码学家 Daniel J. Bernstein 在 2008 年设计的流密码算法,是 Salsa20 的改进版本。
核心设计目标:
高性能:在软件实现中速度极快,特别是没有 AES-NI 硬件加速的平台
安全性:抵抗已知的密码分析攻击
简洁性:只使用 ARX 运算(加法、循环移位、异或)
侧信道抵抗:常数时间实现,抵抗时序攻击
ChaCha20 的核心是生成伪随机密钥流,然后跟明文异或实现加密。
一、ChaCha20 加密流程(以 64 字节块为单位)ChaCha20 的工作流程是围绕一个 512 位(64 ...
隐语——数据要素流通技术MOOC三期 课程笔记——数据组件安全可行流通新模式课堂笔记
课程地址:https://www.secretflow.org.cn/community/bootcamp/2narwgw4ub8rabq/course/gf3fp3u1cblqlv2
一、课程概述主讲人:胡承盛(中电数据产业集团)
核心内容:围绕数据组件这一标准化数据初级产品形态,讲解其形式、原理、设计生产、流通及应用。
背景:数据作为新型生产要素价值凸显,国家推动数据基础设施建设,数据供需矛盾与安全挑战并存。
二、数据组件的内涵与特性1. 定义
数据组件是对数据资源进行清洗治理、加工生产形成的信息密度大、安全属性强、形态稳定、产权清晰、价值释放效率高的数据表达结果。
2. 三种形态
形态
定义
应用场景
组态
数据资源脱敏处理后由相关字段形成的数据集
企业敏感信息统计、匿名化展示
模态
数据资源关键字段通过建模形成的数据特征
企业经营状况判断(用水用电特征等)
组合态
组态+模态组合形成的数据/特征集
需要原始数据+变换特征的复杂场景
案例:企业名称、注册资本等 ...
对于多方安全计算的中止安全的理解
隐语课程:https://www.secretflow.org.cn/community/bootcamp/2narwgw4ub8rabq/course/exat9e9krgue7il
在一次课程上,看到在输出可达性上,提到中止安全:恶意实体获得输出后,可终止协议,使得诚实实体不能获得输出。
疑问:我就很好奇为什么恶意实体获取到了输出,反而诚实实体不能获得输出,这为什么说是安全?
1.怎么理解中止安全中的 “安全”?关键在于,在密码学和多方安全计算的语境下,“安全”这个词有非常精确的定义,它主要关心两个核心属性:
**隐私性 (Privacy)**:协议执行过程中,任何参与方(包括恶意方)都无法学到关于其他参与方原始输入的任何额外信息,除了从最终输出结果中可以推断出的信息之外。
**正确性 (Correctness)**:计算出的输出结果必须是正确的,即严格按照预定函数 f(input_1, input_2, …) 计算得到的结果。恶意方不能通过欺骗手段让协议计算出一个错误的结果。
其实“中止安全 (Security with abort)”, ...
不经意传输(Oblivious Transfer, OT)学习文档
在学习隐语课程(https://www.secretflow.org.cn/community/bootcamp/2narwgw4ub8rabq/course/exat9e9krgue7il?isMooc=true)的过程中,对于不经意传输的原理特别好奇,所以有了此文档记录一下。
1. 什么是不经意传输?不经意传输(Oblivious Transfer, OT)是密码学中的一个重要基础协议。
想象一个场景:
我(接收者)想从你(发送者)那里获取一些信息,但我不想让你知道我具体获取了哪条信息。同时,你(发送者)也希望确保我只能获取到我选择的那条信息,而不能了解到其他任何信息。
不经意传输协议就是为了解决这个问题而设计的。它是一种双方协议,一方是发送者(Sender),拥有多个秘密信息;另一方是接收者(Receiver),希望获取其中一个秘密信息。
核心特性:
接收者的隐私性: 发送者不知道接收者选择了哪个秘密信息。
发送者的安全性: 接收者只能学到自己选择的那个秘密信息,对其他秘密信息一无所知。
这个“不经意” ...
spark-submit 提交spark作业到k8s本文主要介绍下 Spark On K8s 的运行流程。我在做一个产品的过程中有涉及到这一部分,虽然产品的实际情况比这复杂,但是了解了这个即可。
整体流程概述当你使用 spark-submit 提交任务到 Kubernetes 集群时,整个过程可以分为两个主要阶段:
提交阶段:在你的本地机器或 CI/CD 环境中发生,spark-submit 与 Kubernetes API Server 交互。
执行阶段:在 Kubernetes 集群内部发生,由 Spark Driver Pod 和 Executor Pods 协同完成。
整个流程的时序图如下所示,清晰地展示了各个组件间的交互:
详细流程分解阶段一:提交阶段 —— spark-submit 与 Kubernetes API Server 的交互1.命令执行:你执行一个类似下面的命令:
1234567891011121314151617181920212223242526${SPARK_HOME}/bin/spark-submit \ -- ...
达梦数据库V8 Docker 部署及使用官方之前提供docker镜像,但是目前官方没有提供了。这里为了不耽误太多时间,所以用了一个其他同学的一个镜像(其基于官方镜像V8.1镜像做了部分修改)。
https://hub.docker.com/r/xuxuclassmate/dameng
我一开始测试的时候也使用了这个镜像,进行达梦数据库的一些测试(Kuscia支持达梦数据源工作)。但是发现其默认的这个达梦实例(5236端口的),是标识符大小写敏感的。
12# 返回为1则为敏感,返回0则为不敏感SELECT CASE_SENSITIVE();
https://eco.dameng.com/community/training/6e3229b02cf35a142766aebf8cdef19e
1.创建表:若表名或列名未添加双引号“”,则表名和列名会自动转换为大写形式<1>若对表名或列名添加双引号“”,则会固定书写时的大、小写<2>同名的数据库对象,如果大小写不同,那么则为两个不同的对象。2.字段:若表名或列名未添加双引号“”,则表名和列名会自动转换为大写形式3 ...
公共数据开发利用及授权运营——课堂笔记主讲人:王立达(清华大学计算社会科学与国家治理实验室)
一、公共数据开发利用的政策体系与意义1. 政策背景与演进政策法规框架:以《网络安全法》《数据安全法》《个人信息保护法》为基础,辅以“数据20条”、数字政府建设指导意见、数据要素三年行动计划等,形成“安全+发展”双轮驱动。趋势变化:早期侧重安全(如数据安全法),近年转向发展导向(如国家数据局成立释放信号)。
核心概念界定公共数据定义:各级党政机关、企事业单位依法履职或提供公共服务过程中产生的数据。 边界澄清:仅含依法授权产生的公共服务数据;无授权则不属于公共数据。与其他数据关系:虽分公共/企业/个人三类,但实际存在交叉(如公共数据含企业、个人数据)。
开发利用方式 三种形式:政务数据共享:政府内部流通;公共数据开放:向社会供给脱敏后的数据;授权运营:引入社会力量参与开发,扩大供给范围。配套文件:“1+3”政策体系(两办意见+登记办法、实施规范、价格机制通知)。
4. 政策意义目标:统一思想、规范管理、释放数据价值;创新点:通过授权运营解决传统开放模式痛点(如清洗成 ...
隐语——数据要素流通技术MOOC三期——【1】国家数据要素相关政策解读
Mooc课程地址:https://www.secretflow.org.cn/community/bootcamp/2narwgw4ub8rabq/course/vhii941jitkl122?tab=outline
本次课程围绕国家数据要素化价值化展开,核心结构为 “1 个目标、3 条思路、3 项突破、3 个抓手”,旨在解决数据 “供得出、流得动、用得好、保安全” 四大核心问题。
一、课程核心框架:“1333” 体系本次课程围绕国家数据要素化价值化展开,核心结构为 “1 个目标、3 条思路、3 项突破、3 个抓手”,旨在解决数据 “供得出、流得动、用得好、保安全” 四大核心问题。
二、课程核心内容拆解1 个目标:供得出 流得动 用得好 保安全
目标定义:以数据要素市场化配置改革为主线,确保数据 “供得出、流得动、用得好、保安全”。
目标确立依据:
党中央国务院的战略要求:我国是首个且唯一将数据列为生产要素的国家,2019 年十九届四中全会首次提出,后续出台 “数据 20 条” 等顶层文件(如数据要素配置、全 ...


























