- 博客(153)
- 收藏
- 关注
原创 全球加速:你的数据如何实现“跨国闪送”?
当你打开一个国外网站时,页面加载可能需要几秒甚至几十秒;当你和海外同事视频会议时,画面总是卡顿;当你玩国际服游戏时,延迟高到让你“落地成盒”…… 这些问题的本质,是数据在“长途跋涉”:你的请求需要跨越海底光缆、绕行多个国家的中转节点,最终才能到达目标服务器。而**全球加速技术**,就是为了让数据像“跨国闪送”一样,走最短的路、用最快的车,直达用户手中。
2025-02-26 19:59:37
501
原创 深入理解GPT底层原理--从n-gram到RNN到LSTM/GRU到Transformer/GPT的进化
从简单的RNN到复杂的LSTM/GRU,再到引入注意力机制,研究者们一直在努力解决序列建模的核心问题。每一步的进展都为下一步的突破奠定了基础,最终孕育出了革命性的Transformer架构和GPT大模型。
2025-01-20 19:52:38
1192
原创 SSL/VPN远程接入技术架构
SSL VPN (Secure Sockets Layer Virtual Private Network) 通过SSL协议进行加密传输的VPN即可称之为SSL VPN,可通过Web浏览器或重型客户端(OpenVPN,AnyConnect)访问。
2024-02-18 17:59:29
4615
2
原创 SASE和零信任--傻傻分不清楚
随着企业网络架构的演进,相应的安全架构随之演进是很自然的事情。零信任和SASE概念正是反应了网络架构和安全架构伴生演变的过程。
2022-12-06 00:03:05
1439
原创 Java Netty NIO网络编程入门
Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,它极大地简化和流线了网络编程,例如 TCP 和 UDP 套接字服务器。对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。
2022-10-27 16:58:07
334
原创 一文搞懂消息队列
消息队列(Message Queue),简称为MQ,是一种跨进程的通信机制,用于上下游传递消息。常见消息队列中间件如:Kafka、ActiveMQ、RabbitMQ、RocketMQ等。
2022-05-06 14:00:46
1934
原创 深入理解密码学基本概念和应用
现代密码学已经发展为包括随机数、Hash 函数、加解密、身份认证等多个课题的庞大领域,相关成果为联网奠定了坚实的安全基础。每个程序员都应该懂一些现代密码学。
2022-04-06 16:14:21
6249
原创 Linux系统安全
在 Linux 中,用户层的所有操作,都可以抽象为“主体 -> 请求 -> 客体”这么一个流程。在这个过程中,Linux 内核安全提供了基于权限的访问控制,确保数据不被其他操作获取。
2021-11-05 15:47:15
6764
原创 新一代云原生监控系统Prometheus--理解数据模型/指标/标签/PromQL/Exporter
Promethues与Kubernetes有着十分相似的历程,均是源自Google内部多年的运维经验。Prometheus 于 2016 年 5 月加入 CNCF 基金会,成为继 Kubernetes 之后的第二个 CNCF 托管项目。Kubernetes和Promethues分别代表了云原生模式下容器编排以及监控的事实标准。
2021-07-22 12:04:38
947
1
原创 Envoy架构理解--理解xDS/Listener/Cluster/Router/Filter
Envoy 是一个开源的边缘服务代理,也是 Istio Service Mesh 默认的数据平面,专为云原生应用程序设计。
2021-06-01 19:09:35
3945
原创 深入Istio架构和功能--理解数据面/控制面/流量管理/安全/可观察性
Istio提供了服务网络(ServiceMesh)基础环境。解决了开发人员和运维人员所面临的从单体应用向分布式微服务架构转变的挑战。
2021-05-28 18:36:16
4152
1
原创 k8s访问控制--理解RBAC和OPA
Kubernetes API的设计与大多数现代API不同。它是基于意图的,这意味着使用API的人考虑的是他们想要Kubernetes做什么,而不是如何实现。其结果是一个令人难以置信的可扩展性、弹性,和一个强大而流行的系统。同时,其基于意图的API给安全带来了挑战。标准的访问控制解决方案(基于角色的访问控制、基于属性的访问控制、访问控制列表或IAM策略)都不够强大,无法强制执行基本的策略,比如谁可以更改pod上的标签,或者哪些镜像存储库是安全的。
2021-05-28 16:43:10
1364
原创 docker和k8s发展史--理解oci/cri/cni/docker swarm/containerd/runc/dockershim
从 2013 年 Docker 项目发布开始算起,容器技术这样一个新生事物,完全重塑了整个云计算市场的形态。docker和k8s的发展历史,也见证了技术巨擘们相互厮杀和爱恨情仇。
2021-05-25 16:41:09
1637
原创 云原生和ServiceMesh主要组件--理解K8s/Istio/Envoy
Kubernetes 作为一种容器编排调度工具,解决了分布式应用程序的部署和调度问题。Istio通过透明代理(sidecar)将流量管理从K8S中解耦,满足了ServiceMesh对细粒度流量管理的需求。Envoy是 Istio 中默认的 sidecar 代理。
2021-05-24 12:23:24
3416
2
原创 Rust FFI 编程--理解不同语言的数据类型转换
"FFI"是" Foreign Function Interface"的缩写,大意为不同编程语言所写程序间的相互调用。鉴于C语言事实上是编程语言界的万国通,世界通用语。对于其它语言(比如python/go),如果将 Rust 库的公共接口转换为应用程序二进制接口( C ABI),则在其它编程语言(比如python/go)中可以相对容易地使用它们。
2021-05-06 16:21:24
1408
1
原创 go-plugin入门
go-plugin是基于RPC的Go(golang)插件系统(Go Plugin System over RPC)。这是HashiCorp工具使用超过4年的插件系统。
2021-04-20 17:06:46
1825
原创 rust异步编程--理解并发/多线程/回调/异步/future/promise/async/await/tokio
通常我们将消息通信分成同步和异步两种:- 同步就是消息的发送方要等待消息返回才能继续处理其它事情- 异步就是消息的发送方不需要等待消息返回就可以处理其它事情很显然异步允许我们同时做更多事情,往往也能获得更高的性能。异步编程,是一种被越来越多编程语言支持的并发编程模型。异步和协程类似,相比多线程来说,异步运行时可以使用少量线程来处理大量任务。
2021-04-12 20:56:46
6742
1
原创 Istio安全架构--理解身份/认证/授权
Istio 安全的目标是:- 默认安全:应用程序代码和基础设施无需更改- 深度防御:与现有安全系统集成以提供多层防御- 零信任网络:在不受信任的网络上构建安全解决方案
2021-04-08 21:02:35
2693
原创 理解SDP软件定义边界--概念、架构、流程
目前,虚拟专用网络(VPN)是很多公司远程访问的解决方案之一。但是,VPN用户一旦获得授权就可以广泛访问公司网络上的资源。这种广泛访问的方法使潜在的敏感资源和信息暴露给VPN用户和攻击者。因此,围绕软件定义的边界解决方案(SDP)成为安全远程访问的一个更具吸引力的替代方案。
2021-03-09 14:49:27
5338
1
原创 go并发编程-理解不同并发场景下的go原语
虽然在 go 中,并发编程十分简单,我们只需要使用 go func() 就能启动一个 goroutine 去做一些事情,但是正是由于这种简单我们要十分当心,不然很容易出现一些莫名其妙的 bug。
2021-02-24 18:46:20
709
原创 理解云原生--开发模型、架构原则、主要技术
云原生架构旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。
2021-02-16 14:16:27
760
1
原创 传统企业安全vs互联网企业安全vs云安全
使用基于传统的资产威胁脆弱性的风险管理方法论加上购买和部署商业安全产品(解决方案)通常可以搞定。大型互联网企业安全不需要堆硬件盒子式的解决方案了,就算堆也不再是原来的堆法。
2021-02-15 12:09:08
475
原创 CTF入门--题目介绍
CTF 题目类型一般分为 Web 渗透、RE 逆向、Misc 杂项、PWN 二进制漏洞利用、Crypto 密码破译。
2021-02-04 16:10:46
4955
2
原创 什么是零信任--用户/应用/设备--识别/认证/权限/信任
零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。
2021-01-28 18:16:51
4351
1
原创 dpdk报文收发流程--理解dma控制器、UIO驱动、描述符空间、mbuf空间、KNI
传统方式接收报文时,当网卡接收到报文后会产生硬件中断,进而报文会通过协议栈,最后到达应用层,这个过程需要内核协议栈的处理。和传统报文接收不同,当应用层想要接收来自网卡的报文时, 应用层通过while死循环的方式,调用rte_eth_rx_burst接口轮询接收来自网卡的报文,相当于绕过了内核协议栈,将内核旁路了。通过轮询的方式,报文不经过内核,提高了网络转发性能,同时也降低了内核与用户态系统调用的开销。
2021-01-13 13:12:02
4533
原创 linux内核数据结构实现--链表、队列和哈希
C是面向过程的语言,但是linux内核却用C实现了一套面向对象的设计模式,linux内核中处处体现着面向对象的思想。
2021-01-09 22:18:44
1020
原创 调试器工作原理--CPU软件断点/硬件断点/单步执行标识
断点和单步执行是两个经常使用的调试功能,也是调试器的核心功能。断点是调试器的最常用技术之一。其基本思想是在某一个位置设置一个陷阱,当CPU执行到此位置时,中断到调试器中,让调试者分析和调试,之后恢复执行。单步执行是最早的调试方式之一。就是让应用程序按照某一个步骤单位一步一步执行。一般的做法是,先使用断点功能将程序中断到感兴趣的位置,然后再单步执行关键的代码。
2020-12-30 14:09:05
6520
原创 二进制漏洞利用原理--栈溢出
函数的局部变量在栈中一个挨着一个排列。如果这些局部变量中有数组之类的缓冲区,并且程序中存在数组越界的缺陷,那么越界的数组元素就有可能破坏栈中相邻变量的值,甚至破坏栈帧中所保存的EBP值、返回地址等重要数据。
2020-12-28 14:32:06
896
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人