阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

Golang 和 HTTPS 在网站前端接入里的作用

  • 2016-01-03
  • 本文字数:2291 字

    阅读完需:约 8 分钟

网站前端架构技术一直在不断的优化,而要做到全栈优化,就必须要运维、后端架构研发、前端模板渲染研发、系统和网络等各个部门的协作。同时,安全又是网站建设话题中避不开的梗,从 2015 年年初开始,HTTPS 安全协议就已经遍布各大网站的网址里了,而百度是国内第一家推行全站 HTTPS 的大型网站,这其中就有很多关于站内优化和站内安全的经验分享。以下内容是对第61 期百度技术沙龙的三位资深运维工程师的采访。

陶春华:百度资深运维工程师,百度Golang 委员会成员 & Code Master,工作中主要方向在百度接入的Go 项目。

InfoQ:BFE 架构是如何做到在高并发访问的情况下不丢失访问请求的?

陶:BFE 架构能做到这一点主要依托了 Golang 对并发访问的支持:goroutine 机制在并发处理上非常高效;编程模型也是大家熟悉的线程模型,容易掌握。

InfoQ:后台统一日志收集使用的是什么技术?以及如何在不影响业务流程的情况下保证日志的准确性和实时性?

陶:对访问日志我们采用两个手段处理:一是开发了一个专用的 Reader 程序,解析出部分关键请求信息,通过实时接口发送到后台汇聚服务,用于实时的流量识别与调度。二是公司有日志收集系统,统一进行日志的收集、统计与存档。

InfoQ:BFE 前端接入是如何做到防攻击的?在不影响主业务流程情况下具体安全策略是如何运行的?

陶:安全主要是通过 WAF 服务来保障。WAF Server 是和 BFE 同机部署的应用层防火墙,BFE 会把流量转发到 WAF 服务程序。根据安全规则,WAF 服务对访问数据进行检查,一旦发现违反安全规则的访问,则立即封禁该访问。这个过程独立于 BFE 的其他处理逻辑。

InfoQ:BFE 前端目前有没有做到自动化接入产品线?如果有的话,请谈谈是如何做到这一点的?

陶:目前有部分是自动化接入产品线的,主要是出于为部分重要配置的审核考虑,才使用了自动化接入。

InfoQ:BFE 架构下流量控制策略是如何设计的?当初为什么使用这种设计方法?

陶:流量调度分为外网调度和内网调度两个层次。

外网调度,主要考虑如何控制 DNS 系统,将用户引导到合适的入口 IDC。内网调度,主要考虑在业务集群间的负载情况,将流量从一个 BFE 集群,分流到多个等价的业务集群,权重是根据负载情况实时计算得到的。

InfoQ:GO 语言在前端接入设计上存在哪些“先天不足”?主要的解决措施是什么?

陶:对 BFE 的应用场景来说,主要是 GC 带来的不确定的延迟。为此我们设计了多进程轮转的解决方案,基本思路是当前服务的工作进程关掉 GC,服务一段时间后,其他进程替换工作。

许霞:百度资深运维工程师。曾负责反作弊、超链分析、用户行为分析等离线计算系统维护工作。最近两年来专注于网页搜索无线访问速度与接入体验方向。

InfoQ:如何跟后端架构研发、前端模板和渲染研发、系统和网络等各个部门之间进行协作,才能实现整个网站全栈优化的效果?

许:网站速度的提升在公司内部是一个主题方向,并且有一个独立的项目组进行工作开展。项目组中包括网络、服务器、搜索架构等基础技术的工程师,也包括前端渲染、交互设计方向的工程师。整个项目组会整体对网站的优化进行负责,从而实现从各个层面进行速度的优化。而运维部作为一个衔接基础技术和业务的技术部门,就承担了整体分析设计与驱动全栈优化的角色。

InfoQ:百度在 WPO(Web Performance Optimization)上做了哪些措施?对各种监测手段的使用如何抉择?

许:网站性能的监测手段选择主要是两方面的。

首先是基于 JS 的监测数据,这部分数据优点是数据规模大,数据可以根据目的性进行自定义。当然缺点是很难覆盖竞品的情况下对竞品情况的了解,我们会选择第三方监测,包括基调、博瑞,以及海外的同行。通过购买第三方监测服务来覆盖我们在竞品测监测数据,同时也保证了客观性。

陈曦洋:百度资深运维工程师,近 3 年作为主要技术负责人,处理网页搜索的可达性,访问速度,安全搜索等方向事务。

InfoQ:可否介绍一下目前 HTTPS 在业界的适用范围?使用前后的效果对比是怎样的?

陈:需要保护隐私,防止劫持和嗅探,和钱 / 账户打交道的都应该优先上。在这些领域,对用户流量的劫持已经让用户难以忍受,甚至一些临时工写出来的劫持代码会直接让页面功能不可用,可以从用户反馈渠道看到大量的抱怨。另外一方面,一些非法的行为会直接嗅探用户浏览网页的的隐私,获得用户需求信息,甚至直接电话骚扰用户。不安全的浏览会给坏人可趁之机,入侵用户账户,造成财产或者名誉等损失。

百度在上线 HTTPS 之后,用户反馈的页面由于劫持而造成的功能问题减少了一个数量级。之前大家没有上线 HTTPS,很多是在顾忌复杂性,资源成本,和访问延迟。这些问题都会逐渐得到解决,建议大家尽量都改造为 HTTPS。另外看看今年上线 HTTPS 有哪些网站就知道效果如何了。

InfoQ:HTTPS 目前在百度的使用场景有哪些?能不能做到完完全全的安全?

陈:HTTPS 目前在百度主要在搜索支付金融账户等业务,也正在推进支持所有的产品。使用 HTTPS 代表不了完完全全的安全,但是能解决很多问题,也极大的增加了攻击者的成本。但没有“完全的安全”这个说法。一个实际使用中的完整系统总是非常的复杂,用户浏览网页的过程也是一样,在很多环节上,都有各种各样的风险。

网上有清华大学段海新教授对网银及其他使用 HTTPS 网站的攻击演示。光是百度部署 HTTPS,也没有办法完整的保护浏览的整个环节,因为你最终还是要通过百度访问到你感兴趣的网站上去的。而我们发现有些网站为了获取用户的信息,会购买一些非法的服务,可以拿到你的大量信息,甚至电话号码。

而在第 61 期百度技术沙龙现场活动中,陈曦洋还会跟大家分享百度在使用 HTTPS 安全协议之初,都曾遇到过哪些问题,使用了什么样的解决方案等精彩内容!

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2016-01-03 18:563690
用户头像

发布了 161 篇内容, 共 70.7 次阅读, 收获喜欢 195 次。

关注

评论

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

Python 集合(Sets)3

小万哥

Python 程序员 软件 后端 开发

Chrome 118 版本中的新功能

南城FE

CSS chrome 前端 浏览器

智能量化合约跟单系统开发技术/量化交易/合约跟单交易

V\TG【ch3nguang】

如何通过 NFTScan API 按照 NFT 合约地址检索数据?

NFT Research

NFT NFT\ NFTScan

苹果上架常见问题-appstore开发者名称修改

雪奈椰子

VR虚拟现实:技在医疗行业的具体应用

3DCAT实时渲染

VR虚拟现实

Grafana 10 新特性解读:体验与协作全面提升

阿里巴巴云原生

阿里云 云原生 Grafana

文本识别工具 TextSniper 免激活最新版

胖墩儿不胖y

OCR截图文字识别工具 OCR识别

秒合约丨永续合约丨交易所系统开发方案

V\TG【ch3nguang】

1000字扫盲RTC

X2Rtc

开源 音视频 CDN RTC

蓝易云:ubuntu编译安装pcl教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 PCL

CODING 界面全新升级,代码仓库 Rebase 变基合并、批量复制事项等功能上线!

CODING DevOps

Linux桌面环境(桌面系统)

二哈侠

音频技术团队空降直播间,揭秘小红书语音技术创新探索与落地实践

小红书技术REDtech

音频 #人工智能

多功能记事本 Notebooks for Mac激活最新版

mac大玩家j

Mac软件 笔记软件 笔记本工具

一文吃透零代码、低代码和aPaaS系统

这我可不懂

低代码 零代码 aPaaS

Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布

阿里巴巴云原生

阿里云 云原生 dubbo

低代码平台为企业应用开发提速

树上有只程序猿

低代码

Cloud Kernel SIG 月度动态:发布多个 ANCK 版本,引入多个第三方硬件驱动

OpenAnolis小助手

Linux 龙蜥社区 anck kernel 龙蜥sig

低代码:避免重复造轮子的高效工具

互联网工科生

低代码 造轮子 JNPF

永续杠杆合约交易/系统程序开发/合约策略跟单/秒合约交易源码模型

V\TG【ch3nguang】

全力以赴,火山引擎边缘云代表团出战亚运会

火山引擎边缘云

电竞 边缘云 边缘云原生 亚运会

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

阿里巴巴云原生

阿里云 云原生 Prometheus

PPT制作软件哪个好?各种类型的10款好用PPT软件盘点!

彭宏豪95

效率 PPT PPT模板 办公软件 效率办公

手把手带你用Python和文心一言搭建《AI看图写诗》网页项目

袁袁袁袁满

Python 人工智能

golang面试基础-sync.map

Quincy

golang 数据结构 面试 后端

现货期权合约量化/量化合约/秒合约/永续合约/交易所系统开发(开发案例及源码)

V\TG【ch3nguang】

是否拥有具身智能,是扫地机器人能否打破“内卷”的关键

脑极体

AI 智能扫地机器人

蓝易云:介绍Nginx、正向代理和实现反向代理的两个实例

百度搜索:蓝易云

nginx 云计算 Linux 运维 Web

高规格、高并发、即开即用:和鲸携手北中医,打造 AI 人才选拔的最佳实践

ModelWhale

人工智能 大数据 高等教育 人才选拔 实践考核

鹅厂练习 13 年 Coding 后,我悟了

CODING DevOps

Golang和HTTPS在网站前端接入里的作用_语言 & 开发_Lucien_InfoQ精选文章