《后端技术面试 38 讲》学习笔记 Day 11

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 《后端技术面试 38 讲》学习笔记 Day 11

《后端技术面试 38 讲》学习笔记 Day 11

29 | 高可用架构:我们为什么感觉不到淘宝应用升级时的停机?

原文摘抄

程序要升级,必须要关闭进程重新启动,这段时间应用也是不可用的

互联网的高可用是说,在上面各种情况下,应用都要是可用的,用户都能够正常访问系统,完成业务处理

但不管是哪种方案,实现高可用需要投入的技术和设备成本都非常高。因此可用性并不是越高越好,而是要根据产品策略寻找高可用投入产出的最佳平衡点

高可用的架构:冗余备份、失败隔离、限流降级、异地多活

失败隔离的主要架构技术是消息队列

心得体会

  1. 感受不到停机是因为集群整体是可用的,只要是集群中节点一部分一部分的进行部署、升级,通过网关对流量的切换,是可以做到用户无感知的。

工作体验

  1. 工作中,生产机器部署着我们开发者都不清楚的数量的监控,已知的就有老牌的Zabbix、新兴的Promethues等监控,针对系统CPU、内存、GC、接口失败率等等资源指标进行了监控,防患于未然。

30 | 安全性架构:为什么说用户密码泄漏是程序员的锅?

原文摘抄

主要使用的加密方法有三种:单向散列加密、对称加密和非对称加密

HTTP 攻击是黑客攻击行为中门槛最低的攻击方式,也是最常见的一种互联网攻击。而 HTTP 攻击中,最常见的是 SQL 注入攻击和 XSS 攻击。

XSS 攻击即跨站点脚本攻击,攻击者构造恶意的浏览器脚本文件,使其在其他用户的浏览器上运行,进而进行攻击。XSS 攻击防御的主要手段是消毒,对比较有危险的脚本语法关键字进行转义。比如把“>”转义为“>”,HTML 显示的时候还是正常的“>”,但是这样的脚本无法在浏览器上执行,也就无法达到攻击的目的。

硬件指令和操作系统可能会有漏洞,我们使用的各种框架和 SDK 可能也有漏洞,这些漏洞从被发现,到被公开,再到官方修复漏洞,可能会经过一个或长或短的时间,这个时间内就可能被掌握这些漏洞的黑客利用,攻击系统。

心得体会

  1. 安全问题主要就是有许多方式让黑客可以获得超出当前用户权限的问题。例如大学期间,老师通过使用超长,或者为空的输入进行发送报文,先绕过了前端校验,一旦后端未做校验,也未做统一的异常拦截,抛出去的异常堆栈无异于告诉黑客你的一些代码片段,易于其后进一步分析。不过这一步往往工作规范的工程师已经自动规避了这个问题。

工作体验

  1. 在金融机构以及服务与金融机构的公司就职经验让我很清楚,这些公司里都有一个专业的安全部门,会通过静态代码扫描,手动尝试漏洞攻击。告诉我们所用到的高危组件,并给出修复方案。以及我们自己写的哪些代码可以SQL注入等。
    就比如之前fastjson大行其道时,高危漏洞是一个接一个,痛下心来直接在本工程内全部替换为jackson,但是倒霉,依赖的系统中还有fastjson强依赖无法剔除,比较头疼。
    突发奇想,为什么json界没有类似slf4j的存在内,屏蔽底层json序列化框架的差异?
目录
相关文章
|
1月前
|
监控 中间件 Java
后端技术:构建高效、稳定的服务器端应用
【10月更文挑战第5天】后端技术:构建高效、稳定的服务器端应用
79 0
|
1月前
|
监控 关系型数据库 Serverless
探索后端技术:构建高效、可靠的服务器端应用
本文将深入探讨后端开发的核心概念和关键技术,从服务器架构到数据库管理,再到安全防护,为读者提供全面的后端技术指南。无论是初学者还是经验丰富的开发者,都能从中汲取灵感,提升自己的技术水平。
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
1月前
|
JavaScript 前端开发 API
探索后端技术:Node.js的优势和实际应用
【10月更文挑战第6天】 在当今数字化时代,后端开发是任何成功软件应用的关键组成部分。本文将深入探讨一种流行的后端技术——Node.js,通过分析其核心优势和实际应用案例,揭示其在现代软件开发中的重要性和潜力。
121 2
|
1月前
|
存储 安全 关系型数据库
后端技术:构建高效稳定的现代Web应用
【10月更文挑战第5天】后端技术:构建高效稳定的现代Web应用
53 1
|
1月前
|
缓存 Java 数据库
后端技术探索:从基础架构到高效开发的实践之路
【10月更文挑战第7天】 在现代软件开发中,后端技术是支撑应用运行的核心。本文将探讨如何从后端的基础架构出发,通过一系列高效的开发实践,提升系统的性能与可靠性。我们将深入分析后端框架的选择、数据库设计、接口开发等关键领域,并提供实用的代码示例和优化策略,帮助开发者构建更稳定、高效的后端系统。通过这篇文章,读者将获得关于后端开发的全面理解和实践指导,从而更好地应对复杂项目需求。
70 0
|
1月前
|
JavaScript API 微服务
探索现代后端开发:关键技术和最佳实践
【10月更文挑战第6天】探索现代后端开发:关键技术和最佳实践
|
1月前
|
存储 安全 关系型数据库
后端技术深度剖析:构建高效稳定的企业级应用
【10月更文挑战第5天】后端技术深度剖析:构建高效稳定的企业级应用
54 0
|
8天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
26 7
|
6天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
19 2

热门文章

最新文章