速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论

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

第三代指标平台相较于前两代的显著优势分析

Aloudata

指标管理 指标平台 指标开发

倒计时1天!龙蜥社区开源软件供应链及操作系统安全MeetUp即将在广州召开

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥meetup

【JIT/极态云】技术文档--组织架构简介

武汉万云网络科技有限公司

低代码

Java 项目中对使用递归的理解分享

快乐非自愿限量之名

Java Python

LeetCode题解:2618. 检查是否是类的对象实例,使用instanceof

Lee Chen

万字长文带你深入Redis底层数据结构

不在线第一只蜗牛

数据库 redis

喜讯!云起无垠获“中国产业互联网发展联盟IDAC双奖”

云起无垠

选择ETL工具需要注意什么技术性问题?

RestCloud

数据分析 ETL 数据集成

赋能生态系统,Arm 打造全球最大 AI 开发者社区

新消费日报

探索OS升级迭代的兼容性和安全性!龙蜥社区走进中科方德MeetUp开始报名

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥meetup

作为产品经理,如何分析和管理你的产品需求

易成研发中心

产品需求

秒杀系统的原则和注意项

EquatorCoco

架构 系统

Python脚本消费多个Kafka topic

不在线第一只蜗牛

Python kafka

ChatGPT 开启「眼睛」,实时摄像头对话来了;昆仑万维推出实时语音助手 Skyo丨 RTE 开发者日报

声网

Apache IoTDB v1.3.3 发布|新增数据订阅,DataNode 主动监听并加载 TsFile 等功能

Apache IoTDB

鸿蒙NEXT开发案例:简体繁体转换器

zhongcx

鸿蒙

LeetCode题解:2695. 包装数组,详细解释

Lee Chen

CSA GCR 2024 | 百度安全DDoS防护服务荣获安全磐石奖等多项殊荣

百度安全

香港 Web3 宣言两周年专访 HashKey Tokenisation 总经理 Anna Liu:探索代币化的未来

TechubNews

如何设计实施 Git 工作流程以提升软件研发效能?

思码逸研发效能

git DevOps 编程语言 研发效能 研发效能管理

超实用开源前端商城模板,助力电商项目飞速启航!免费直接可用!

恩爸编程

商城项目 商城源码 商城系统 开源商城项目 前端商城模版

鸿蒙NEXT开发案例:血型遗传计算

zhongcx

鸿蒙

天润融通解决方案:如何避免门店投诉升级为消费者维权

天润融通

HarmonyOS NEXT用户专属装扮免费体验!华为主题内容大焕新!

最新动态

LeetCode题解:2618. 检查是否是类的对象实例,迭代和递归

Lee Chen

开放原子校源行(天津大学站) 即将启幕,龙蜥技术专家分享开源技术与实践

OpenAnolis小助手

操作系统 龙蜥社区

软件测试丨全面解析 Allure 2 的安装与运用

测试人

软件测试

构建真实可靠指标平台:五大核心特征助力企业深度数智化

Aloudata

指标管理 指标平台 指标开发

人类级别语音 AI 路线图丨 Voice AI 学习笔记

声网

有哪些ppt一键生成软件?这6个AI不容错过!

职场工具箱

效率工具 职场 PPT 办公软件 AI生成PPT

产品需求文档在迭代阶段怎样管理

易成研发中心

产品需求 产品需求文档

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