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

\\

陶春华:百度资深运维工程师,百度Golang委员会成员 \u0026amp; 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安全协议之初,都曾遇到过哪些问题,使用了什么样的解决方案等精彩内容!

Golang和HTTPS在网站前端接入里的作用相关推荐

  1. Golang和HTTPS在网站前端接入里的高效应用

    网站前端架构技术优化的脚步从未停止过,而要做到全栈优化的目的,运维.后端架构研发.前端模板渲染研发.系统和网络等各个部门的协作当然少不了.与此同时,安全永远是网站建设中绕不开的梗,从2015年年初开始 ...

  2. 网站如何接入支付宝(转)

    本文介绍了网站如何接入支付宝. 1 注册企业支付宝帐号 https://enterpriseportal.alipay.com/login.htm 2 实名认证 提供公司相关证件进行实名认证,提交后, ...

  3. 为什么大型网站前端使用PHP,后台逻辑却用Java?

    来自:知乎 链接:https://www.zhihu.com/question/20314377 黄良懿,做做架构,写写代码 前两周参加完 ThinkInLamp 的 PHP 架构师大会,听鸟哥一上午 ...

  4. pc网站和手机端h5网站开发接入微信支付

    有关支付类开发,现在比以前要简单很多了,微信和支付宝两大支付巨头早已经给出了非常详细的接入文档,并且迭代了好多版本,但在实际开发中其实文档的可读性还是有些磕磕绊绊的,而且也有一些坑需要注意.以微信支付 ...

  5. 电商网站前端架构 学习笔记(全是干货)

    1:前端架构的基本知识 1: 前端工程师必须会的一些技能 前端工程师基本技能图.PNG 2: 前端架构基本知识 什么是前端架构? 每个人对每个架构有不同的认识和一些想法.没有一个架构是完美的,只有一个 ...

  6. 网站如何配置CDN加速?网站域名接入腾讯云CDN的步骤(附CDN防御)

    目录 什么是CDN? CDN原理: 接入CDN加速后有什么作用? 网站域名接入CDN加速的步骤 1.开通CDN服务 2.接入域名 3.配置CNAME CDN防御配置 1.用量封顶配置 2.防盗链配置 ...

  7. 阿里云云呼叫中心——软电话SDK前端接入

    摘要:2018年十二月份的时候,我们需要基于我们的后台系统开发应急呼叫系统.一直没有总结.我对这部分也许会有很多理解不透彻的地方,望小伙伴们彼此相互学习,多多提出不足呢. 技术:由于是基于我们的后来系 ...

  8. 计算机毕设Python+Vue音乐鉴赏网站前端开发(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  9. 奇志思达-微网站前端规则建议

    奇志思达-微网站前端规则建议 头部加上: <meta http-equiv="cache-control" content="no-cache" /> ...

最新文章

  1. c语言字符串数组分配没错,【字符串数组面试题】面试问题:C语言基础小结… - 看准网...
  2. 2022-01-22
  3. 多线程别怕,有锁就安全;(解决线程安全问题)
  4. async-await原理解析
  5. 三、Express 路由
  6. IOT(5)---物联网系统框架介绍
  7. java在linux生成pdf文件,从 Java 应用程序动态生成 PDF 文件
  8. 【OpenCV】用sobel算子和Susan算子提取恩智浦智能车赛道边缘
  9. 一种基于全息投影设备的虚拟形象交互方法及系统
  10. java同步锁有哪几种_Java实现锁的几种方式
  11. VMware ESXi/ESX 的内部版本号和版本 (2143832)
  12. 算法创作|模拟商品加入购物车并结算价钱问题解决方法
  13. 谷歌浏览器Adobe Flash player 已过期 解决办法
  14. mocha 测试 mysql_GitHub - nodejs-xx/lei: 整合Express mysql ioredis ejs 的一开发框架,使用mocha对api进行测试...
  15. 国家标准(简称国标)下载备忘
  16. node中的cd命令,cd命令
  17. 2021新年全屏标题动画素材ae模板
  18. 销售管理系统er图_销售是什么?
  19. 流式凋亡率计算_Annexin V流式检测细胞凋亡的数据分析方法
  20. Matlab图像数据类型unit8,double关系

热门文章

  1. Rvit中添加尺寸标注的前缀后缀和【一键尺寸定位标注】
  2. 基于Python的Flask框架实现的寻宝通关游戏 课程论文+项目源码
  3. 前端面试之ES5与ES6的区别
  4. b-k-d树 原理 图文解析
  5. VB出现“找不到DAO350.DLL”错误
  6. JAVA开发与运维(docker运维常规操作)
  7. 危机公关处理流程及成功案例解读
  8. CGB2111-Day18
  9. 胧月初音未来计算机,胧月---初音未来(调教用)
  10. [NOIP2015模拟10.27] [JZOJ4270] 魔道研究 解题报告(动态开点+权值线段树上二分)