写点什么

构建高效安全的分布式系统:探索新协议、长连接与信息安全实践| 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:527796

评论

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

前端学习笔记(一):css学习笔记

恒山其若陋兮

5月月更

难对齐、难保障、难管理?一文了解字节跳动如何解决数据SLA治理难题

字节跳动数据平台

字节跳动 数据治理 SLA 数据研发

总工程师直播解析:隐私计算是什么,都有哪些核心技术和典型应用场景? | 第17 期

OpenAnolis小助手

隐私计算 龙蜥社区 sig 龙蜥大讲堂 海泰方圆

[数据分析实践]-Image Matching-2DTo3D-1

浩波的笔记

人工智能 机器学习 数据分析

ArrayList源码分析-迭代器

zarmnosaj

5月月更

企评家 | 梅花生物科技集团股份有限公司成长性评价简介

企评家

Redis「6」实现消息队列

Samson

学习笔记 Redis 核心技术与实战 5月月更

看透说破:客户服务首解率(FCR)的迷思

龙国富

客户体验 首解率

企评家 | 浙江永贵电器股份有限公司性评价简介

企评家

BSC币安NFT链游系统DAPP开发技术

薇電13242772558

智能合约 NFT

Java 8 开始新增的 Optional 类 - 创建 Optional 对象

HoneyMoose

linux之sudo使用技巧汇总

入门小站

Linux

蚂蚁集团 Service Mesh 进展回顾与展望

SOFAStack

架构 开发者 API Service Mesh 服务网格

JavaWeb JDBC

Emperor_LawD

javaWeb JDBC 5月月更

基于SVN的CICD调研方案

ZuccRoger

5月月更

TiDB 冷热存储分离解决方案

TiDB 社区干货传送门

拆分电商系统为微服务

哈喽

「架构实战营」

企评家 | 如何评价企评家企业成长性评价系统?

企评家

PolarDB-X 源码解读:DDL的一生(上)

阿里云数据库开源

数据库 阿里云 开源 分布式 polarDB

国内首批|观测云获得信通院 “可观测性平台技术能力”最高级认证!

观测云

可观测性 可观测

【LeetCode】验证外星语词典Java题解

Albert

LeetCode 5月月更

一文读懂Move2Earn项目——MOVE

西柚子

在线文本列表交集计算工具

入门小站

工具

企评家企业大数据平台,助力企业刻画企业成长性画像

企评家

焱融看|2022 年存储自动化的 5 大趋势

焱融科技

云计算 分布式 云原生 高性能 文件存储

一文读懂Move2Earn项目——MOVE

小哈区块

【活动预告】云上数字工厂与中小企业数字化转型创新论坛

阿里云弹性计算

数字化转型 中小企业 云盒

模块一作业

joak

Vue数据响应Object.defineProperty

空城机

vue.js 5月月更

【刷题第 11 天】26. 删除有序数组中的重复项

白日梦

5月月更

【科普】如果程序员穿越到古代当皇帝,会发生什么?

阿里巴巴云原生

阿里云 云原生 消息队列 EventBridge

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