写点什么

构建高效安全的分布式系统:探索新协议、长连接与信息安全实践| Archsummit 闭门会

  • 2023-07-31
    北京
  • 本文字数:3633 字

    阅读完需:约 12 分钟

构建高效安全的分布式系统:探索新协议、长连接与信息安全实践| Archsummit闭门会

无论是在云计算、大数据处理、人工智能还是物联网领域,分布式系统都扮演着不可或缺的角色,它为我们提供了卓越的灵活性、可靠性和可扩展性。然而,随着规模和复杂性的不断增加,我们也面临着前所未有的挑战,如系统性能优化、资源管理、数据一致性以及通信效率等方面的问题。在 7 月 21 日,ArchSummit全球架构师峰会(深圳站)上,我们策划了《分布式系统的优化与效率》主题闭门会,以下内容为交流分享摘要。

精彩分享 1

在过去的一些年里,随着业务的不断调整和员工分类的变化,我们的系统接入设计有一些门槛问题。其中,员工有正式员工、外聘员工和外包员工合作伙伴,他们的权限等级不同,这影响了系统接入的设计。另外,集团类员工和非集团员工也需要接入我们的内部系统,例如腾讯音乐、微宝、微众等子公司,以及紧密合作的公司等。这些变化,引发了我们对架构的调整。


在接入网关方面,我们有一个内部称为智能网关的系统,它涉及不同角色使用不同的通道、泳道或片段的建设。另外,我们还在美国、西雅图、新加坡和欧洲法兰克福建立了接入点,将数据接入到广州和深圳的主要数据中心。在这个过程中,我主要负责监控告警、数据可视化和自动修复的工作。不过,随着系统拆分越来越分布式,涉及跨地域、跨集群、跨网站部署服务,我们也面临了一些挑战。特别是网络接入延时和跨云部署问题,这些都是令人烦恼的事情。


特别是在办公接入中可能会遇到较长的延时,尤其是与美国和欧洲的会议时。美国用户反馈说,他们在美国接入网关时,可能需要跳转到深圳进行鉴权,而鉴权服务涉及到另一个团队的员工身份验证系统,这会导致延时。虽然我们在这方面进行了优化,但仍然存在一些不可控的行为,特别是员工的多样化行为对应着多个系统,这也是我们在处理中的一个挑战。


之前使用类似 VPN 的方式建立点对点的连接,但现在我们转向了零信任模型。在这个模型下,每个请求都会被注入一个标记,员工和黑客都可以进入系统,但需要通过我们的客户端进行内网接入。这个客户端充当全流量代理,为用户提供了信任的身份认证,确保系统的安全性。简言之,我们通过零信任模型打破了过去黑名单和白名单的限制,实现更高级别的安全保障。

精彩分享 2


我们的问题是,在原始系统中,数据需要经过 A、B、C 三个节点才能达到目标。然而,实际上,数据可以直接与 C 节点进行交互,可以节省时间和资源。这里的解决方案是创建一个客户端,该客户端将预先获取一些类似注册用户的信息,然后在本地解析,最后直接与 C 节点进行交互。


原系统的调用过程是通过不同节点间的梯队,通过一个中间总线架,再录入到其他服务上面。这种调用方式让内部调用变成网络调研线,需要三跳,且需要 TOS 加密。


之前我们做了一次网络优化,在三台服务器的情况下,理论上有 30% 的流量是在本地节点就可以完成的,无需跳转到其他节点。但是为了实现无感知部署,我们在总线和客户端做了一些改动,优先考虑本地跳转,并使用本地的 UDS 连接来代替 TCP 连接。近两年,我们又面临同样的问题,而且比以前更复杂。我们正在考虑在分布式系统中,对传输层进行更多的优化。

精彩分享 3


虽然 HTTP/3 在全球范围内,如谷歌、Facebook、YouTube 等已在大量的使用,然而,这并不能代表 HTTP/3 在各种业务线或产品上都有大规模应用。


目前国内在流量大的业务(例如小视频、流媒体等)中,HTTP/3 的使用率相对较高,但在其他业务,如即时通信、游戏等,其应用并不广泛。如果从产品的角度考虑,HTTP/3 的使用在整体产品中占比可能不到 1%,可能在 2000 个产品中只有 20 个产品用到了 HTTP3。


此外,即便在使用了 HTTP/2 或 HTTP/3 的场合,这种应用更多的可能只是在接入层或用户端感知的层面,而在服务之间的通信,仍然多是使用简单的 HTTP,甚至连 HTTPS 都不太常用。在推广新标准方面,尽管安全部门做出了尝试,但业务部门对此并不热衷。因为对业务部门来说,他们更关注业务运行,对推广新的通信协议不太感兴趣。

精彩分享 4


镜像管理是一种关键的信息安全实践,包括对操作系统镜像(而非 Kubernetes 容器镜像)的安全审查。我们做了镜像管理,换句话说,在指定特定的机器可下载镜像;接下来是权限管理,这主要涉及对各类用户的角色和权限进行区分和管理,以防止不适当的数据访问或修改;监控和跟踪是另一个重要的部分,我们已经整合了诸如 Prometheus 和 Skywalking 等工具,并建立了一个中间件系统。这就像一个插件,可以插入到我们的任何项目中,以便实时监控系统的运行状况。


对于网络流量的管理,我们正在研究如何在网关进行拦截并进行数据包分析。例如,我们可以扫描通用的业务数据,找出过去存在漏洞或错误的数据,并创建过滤模板以进行流量拦截。在前后端通讯方面,我们已经开始使用 RSA 加密,这主要是为了解决明文传输的问题。


在数据脱敏方面,我们已经开发了一些插件,可以通过配置来指定特定的数据表和接口,对其进行脱敏处理。虽然这并不是专业的数据脱敏工具,但它已经对我们的应用层提供了一定的保护。

精彩分享 5


在我们的操作过程中,我们普遍采用了长连接策略以减小连接成本和降低数据传输量。我们的数据发送并非实时,而是选择每 10 秒、15 秒或 30 秒采集一次。如果我们只使用短连接,传输中的成本可能会超过实际的数据流量。因此,尽管使用长连接可能会增加服务器资源的使用,我们仍选择采用长连接策略。


长连接在分布式系统中的应用面临一些困难,尤其是在处理有状态的机器时。我们尝试过两种模式,一种是在前端设置一个代理,这个代理负责维护状态,然后再将连接转化为短连接;另一种是在内部使用异步消息,但这种方式存在一些问题。首先是与物联网设备的交互是一个挑战,因为这些设备的处理能力相对较弱。尽管它们使用 TCP 进行通信,但与它们的交互必须是一对一的,如果我们向设备发送多个命令,设备常常会不响应或只响应部分命令。


另一个挑战来自于保证交互的时序。如果我们需要进行多次交互,必须保证每次交互的时序是 100%正确的,而且在这个过程中不能被其他业务打断。这是使用异步消息难以实现的。


为了解决这些问题,我们将整个协议栈的驱动封装到一个服务中,这个服务只处理特定的连接。这个服务的接口已经不再是报文接口,而是业务接口。比如,如果我们需要进行设备升级,只需将升级包发给该设备,然后由协议驱动完成所有交互。然而,这种方式难以保证高可用性。如果容器发生故障,所有的连接都会断开,我们必须找出一种方法将它们迁移到新的服务器上。


初期,我们并不太关心这个问题,因为监控和调度命令不多。然而,当我们开始处理充电桩和车辆时,问题就出现了。我们必须保证充电桩 100%在线。最后,我们设计了一种联动策略,即在调度或升级之前通知设备,让设备主动连接到另一个节点,然后再断开原来的连接,从而解决做了这一问题。

精彩分享 6


在我们的团队中,我们运用了机器学习在监控和运维系统中实施预测和根源分析。例如,我们使用趋势预测来识别监控指标的异常,如果出现了与预期不符的趋势,我们会判断可能出现了故障。此外,我们还运用深度学习对故障的根源进行分析。经过一年左右的研发,我们的系统运行良好。在这个过程中,我们使用了 LSTM 深度神经网络,主要应用于腾讯服务器和腾讯云服务器上的流量和 CPU 阈值的智能判断。对于周期性流量,预测准确率高达 95%,但对于散点型的流量,其效果较一般。


在分布式系统的高可用性中,我们的平台分为故障发现、故障定位和故障修复三个部分。通过优化这三个环节,我们能够提高分布式系统的可用性。而弹性伸缩容在故障发现之后,我们还在预测领域努力研究如何更早地发现问题。我认为,这项技术在未来的工厂检测和调度方面有潜在的优势。这就像大模型能够在特定领域,比如疾病诊断中提供帮助一样,它能够像专家一样,对机器、服务、系统或软件出现的问题进行诊断。

精彩分享 7


我们的团队认识到,虽然很多算法能够学习并得到这些数据,但由于缺乏特定领域的数据,我们无法实施这些算法。所以,我们采取的解决方案是先利用系统层面的通用数据进行模型训练,例如 CPU 使用率和内存使用等,这方面我们取得了一定的成功。然后我们尝试与特定业务合作,比如广告系统或支付系统,因为他们拥有特定的业务数据。


这需要我们首先用通用数据取得一定的成果,如准确率达到 90% 以上,这将提升我们的口碑并成为我们的品牌。然后,我们可以使用他们的数据,对我们的模型进行调优,以得到他们需要的结果。


活动推荐:


FCon全球金融科技大会(2023·上海站)是极客邦科技旗下 InfoQ 中国团队推出的面向金融行业高端技术管理者、技术专家的会议,50%参会者拥有 8 年及以上工作经验。


FCon 聚焦当前金融行业遇到的问题,围绕金融企业在数字化转型过程中的痛点,例如数据治理,智能化、数字化风控,数字化投研,数字化营销,IT 技术能力等方向,邀请国内外金融企业,来分享人工智能、区块链、大模型、大数据、数字货币等新一代信息技术实践话题,帮助听众解决技术和业务上的问题,提升技术能力。欢迎大家报名参会,详细信息可点击这里查看

2023-07-31 11:527833

评论

发布
暂无评论
发现更多内容

火山引擎DataLeap一招教你避坑“数据开发”中的资源隔离问题

字节跳动数据平台

大数据 数据治理 资源隔离 数据研发 企业号 3 月 PK 榜

焱融 YRCloudFile 在海量小文件场景训练加速优化策略

焱融科技

文件存储 容器存储 分布式文件存储 高性能存储 全闪存储

你还在为分布式系统数据一致性而烦恼吗,来来来!!!

Java你猿哥

Java 分布式 ssm 分布式架构

ACK Net Exporter 与 sysAK 出击:一次深水区的网络疑难问题排查经历

阿里巴巴云原生

阿里云 云原生 网络 容器w

在 Flutter 多人视频中实现虚拟背景、美颜与空间音效

声网

flutter AI 虚拟背景 美颜

Java8 Stream中如何对集合数据进行快速匹配和赋值

Java你猿哥

Java ssm java8 Java工程师

合约一键跟单带单软件开发交易平台定制(源码搭建)

开发v-hkkf5566

大数据上云存算分离演进思考与实践

阿里技术

大数据 存算分离

photoshop 2023【存储为窗口显示空白、黑屏】解决方法

理理

ps ps 2023储存黑屏

刷爆LeetCode!字节技术官亲码算法面试进阶神技太香了

Java你猿哥

Java 数据结构 算法 面经 左程云

通过 Amazon Managed Microsoft Active Directory 运行混合 Active Directory 服务

亚马逊云科技 (Amazon Web Services)

Amazon

OneFlow源码解析:Eager模式下的设备管理与并发执行

OneFlow

MobTech|移动应用开发中的消息推送

MobTech袤博科技

六款好用的苹果软件,提升Mac使用效率!

理理

Mac软件 苹果软件下载

RADIUS认证是什么意思?有什么用?

行云管家

radius 认证

程序员必修课:阿里性能优化全解终开源!设计+代码+JVM三飞

Java你猿哥

Java 性能优化 JVM 面经 jvm优化

数仓如何进行表级控制analyze

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

C++开发者必读经典书籍推荐

小万哥

c++ 程序员 后端 开发 推荐书籍

精准水位在流批一体数据仓库的探索和实践

百度Geek说

大数据 数据仓库 实时计算 流批一体 企业号 3 月 PK 榜

Spring源码解析:自定义标签解析

Java你猿哥

Java spring Spring Boot ssm

屡获殊荣丨Dubbo 开源 12 周年年度总结与规划

阿里巴巴云原生

阿里云 开源 云原生 dubbo

降本增效:12种常见接口优化方案总结

程序员小毕

Java 程序员 性能优化 后端 架构师

【网易云商】记一次实遇的 MySQL--index merge 死锁历程

网易云信

MySQL 数据库 数据库死锁

GitHub爆火!阿里高级架构师30天整理的《Java超全进阶教程》PDF版分享

开心学Java

Java redis JVM 架构师 进阶笔记

Go 语言基础语法

ChatGPT软件技术栈解密

NineData

数据库 GitHub 技术架构 openai ChatGPT

【新资讯】行云管家大动作-V7.0即将闪亮登场!

行云管家

网络安全 行云管家

【网易云商】记一次实遇的 MySQL--index merge 死锁历程

网易智企

MySQL 数据库

进阶面试皆宜!阿里强推Java程序员进阶笔记,差距不止一点点

Java你猿哥

Java 面试 面经 八股文 Java八股文

局域网IP扫描软件:IP Scanner Pro 激活版

真大的脸盆

Mac Mac 软件 局域网管理 IP扫描工具

中康数字科技:基于大模型的医学文本信息处理与抽取

飞桨PaddlePaddle

构建高效安全的分布式系统:探索新协议、长连接与信息安全实践| Archsummit闭门会_架构_李忠良_InfoQ精选文章