网站技术架构

news/2024/5/4 12:16:35/文章来源:https://blog.csdn.net/weixin_34067049/article/details/88710592
《大型网站技术架构:核心原理与案例分析》笔记

高可用性

什么是可用性?

可用性(Availablility)是指服务可被有效访问的特性,不是指有用性(Usability)。

能够保证服务永远可用吗?

保证服务永远可用几乎是一件不可能完成的任务。

实现高可用的手段

  1. 由集群提供服务,通过负载均衡手段将请求分发到具体节点上,在节点不可用时,从服务注册列表中清楚。
  2. 分级管理。高优先级的服务拥有更好和更多的资源。
  3. 超时设置。控制访问的超时,防止大量的请求即占用资源,又无法获得响应。
  4. 服务降级。对一些请求直接失败,防止机器负载过高导致机器崩溃,结果导致整个服务崩溃。

预发布和线上发布的区别

预发布和线上发布的唯一不同是没有配置在负载均衡服务中,所以外部无法访问预发环境的机器。

保证服务可用性的意义

工程师对应用做出性能的优化、代码的重构,但是未必能让人直观感受到,也许你的领导都不知道你做这件事情的意义何在。但是,如果你的产品出现了重大故障,那么CEO都会知道你的名字。

伸缩性

什么是伸缩性

指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。

什么是一致性Hash

在缓存服务中,会根据用户的key将数据缓存至某个缓存节点,选择节点的过程需要用到hash值。

传统算法:将key的hash值模缓存节点数目,获得index,则该index对应的节点就是数据要缓存入的节点。这种方法的缺点是动态的添加、下线缓存节点时,会导致大量的缓存无法命中和缓存迁移。
一致性hash:构建一个长度为$2^{32}$的环,所有的缓存节点会散布到环中的某些位置上,需要缓存的数据根据key计算hash值后会映射到环中的某个位置,然后找到不小于该位置且最近的缓存节点,作为其数据存放的节点。在动态的添加缓存节点时,只有和它相邻的缓存节点中的数据受到影响。该方法的问题是,当添加节点时,会导致环上的缓存节点疏密不均,从而使得每个缓存节点上的缓存数量不均匀。

一致性hash+虚拟节点。上述问题的解决方案是在一致性hash算法的基础上,每个缓存节点会被当做多个虚拟节点分散到环中。所以在添加一个新的缓存节点时,会当做多个虚拟节点添加到环中,这样就防止环中缓存节点疏密不均的问题。

扩展性

什么是扩展性

指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。

SOA是实现服务扩展性的一种方式

SOA(面向服务的设计架构)是将不同的业务模块划分为不同的服务,这些服务具有高内聚和低耦合的特点,通过服务发现机制,可以方便的发布新的服务以提供新的功能。

NoSQL是实现数据库扩展性的一种方式

修改关系型数据库的schema是困难的,并且对于稀疏性的数据而言,关系型数据库会浪费存储空间。而NoSQL可以提供列族来灵活的增减列属性,并且不要求每个数据都具有所有的属性。

不断上新产品是互联网公司的生存本能

互联网公司不停上新产品是其生存的本能,谁能更快更好地推出更多的新产品,谁就活得更滋润,那么工程师就要做好准备应付这种局面。

网络安全

加密技术

  1. 单向散列加密。对明文进行加密,加密算法固定,但是无法通过密文解密为明文。通常用于对用户密码进行加密,加密后存入数据库。即使数据库被别人获取,也无法获得用户的明文密码,也无法通过密文密码登陆用户账户。采用加盐来防止对密文的破解。如,MD5,SHA。
  2. 对称加密。明文的加密和密文的解密采用的都是同一个秘钥。如,DES,RC。
  3. 非对称加密。明文通过公钥加密,密文通过私钥解密。私钥也可以对明文加密,用公钥解密,起到数字签名的作用。如,RSA算法。

布隆过滤器

在需要过滤大量黑名单的场景中,如果采用Hash表来存储黑名单,则需要耗费很大的存储空间。布隆过滤器则可以在较小的存储空间中实现过滤功能。布隆过滤器首先申请一个固定大小的存储空间,该空间共有n个bit,初始为0,需要加入黑名单的名字通过8个函数,映射到n个bit中的8个bit中,将这些bit置为1。如果一个名字通过上述8个函数映射到的位置都被置为1,则该名字在黑名单中。使用布隆过滤器,一个名字最多只需要占用一个字节。布隆过滤器可能会误杀,因为存在名字不在黑名单中,但是由于其它黑名单中的名字,导致其映射的位置都被置为1。

架构师

什么是好的架构师

所以最好的软件项目管理不是制订计划,组织资源,跟踪修正项目进展,对成员进行激励和惩罚,而是发掘项目组每个成员的优秀潜能,让大家理解并热爱软件产品最终的蓝图和愿景。每个人都是为实现自我价值而努力,不是为了领工资而工作。

事成就了人

有些企业喜欢挖优秀的人,而不是去把自己打造成一个培养优秀人才的地方。殊不知:是事情成就了人,而不是人成就了事。指望优秀的人来帮自己成事,不如做成一件事让自己和参与的人都变得优秀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_781942.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个账户接管几乎所有阿里巴巴网站(CSRF漏洞+WAF绕过)

场景 文章是关于某些客户端漏洞导致几个阿里巴巴网站的帐户被接管。 条件 TL;DR 必要条件,例如JSONP,某些浏览器处理cookie等行为。 攻击原理 大多数阿里巴巴的网站加载并执行外部JavaScript对象,JavaScript代码从名为的cookie中获取值uid。攻…

(亚马逊云)10分钟-快速启动基于 Odoo 的电商网站

文章目录1. 引言2. 快速启动Odoo电商网站1. 注册2. 创建Amazon EC2实例3. 为Amazon EC2 实例绑定弹性IP地址4. 获取Odoo登录密码5. 登入Odoo网站管理后台6. 创建EC 2 映像作为备份7. 可选项3. 测评感受优点福利首先给出亚马逊云的官方实操教程链接: 地址如今的时代&…

正则爬取某段子网站前20页段子(request库)

首先还是谷歌浏览器抓包对该网站数据进行分析,结果如下: 该网站地址:http://www.budejie.com/text该网站数据都是通过html页面进行展示,网站url默认为第一页,http://www.budejie.com/text/2为第二页,以此类…

一键 图_高效抠图PS竟全然不是对手?堪称黑科技的AI一键抠图网站

[PConline 应用]“去背”一直是PS里的术语,只不过现在用得越来越频繁了。去除照片背景,意味着你可以随时随地根据自己的需要替换背景,满足设计或者“全球旅行”的梦想。当然就像很多PS梦想神器一样,“去背”说起来容易做起来难&am…

nifi 读取mysql_使用NiFi简单的从网站获取数据写入到mysql数据库

最近稍微研究了下etl工具nifi,它是Apache下面的一个项目,是用作数据流处理的,具体的就不多做介绍了,网上也有很多介绍,官网是https://nifi.apache.org/docs.html,我在这里做了一个从中移物联网onenet平台抽…

dw通过iis运行asp网站总结

ASP站点主要是结合iis和dw软件运行和浏览的 1、首先在本地先建立一个测试文件夹webs 2、打开iis管理器 3、建立创建网站 这里有个 4、dw中创建站点,并导入asp项目 下边的url是根据iis中配置的端口号和主机名组成的: 最后运行浏览asp页面 转载于:https://…

[转] 网站性能优化之------------- 数据库及服务器架构篇

转载自: http://blog.163.com/dangzhengtaoyeah/blog/static/7780087420098232213289/?fromdm&fromSearch&isFromSearchEngineyes 1、Web Server 与 DB Server 分离 小型网站或 B/S 项目,因同时在线人数不多,尚可让同一台物理主机,既…

网站元数据meta标签的含义和用法

随着HTML5的流行和Web技术的不断演变,Meta标签队伍也越来越壮大,从Windows XP的IE6到如今Windows 7、Windows 8的IE9、IE10、IE11,对Html5的支持越来越好,html meta标签的功能作用也越来越强大。 首先,先说一下最初产生…

tornado+bootstrap急速搭建你自己的网站

bootstrap既然是这么的流行又能省很多的事为什么不用他呢?再加上牛X的produced by FB的tornado简直如虎添翼了! 1. 安装配置 安装所需要的库等内容。这里没什么需要多讲的。tornado直接用easy_install或者pip。bootstrap直接下下来就OK了。当然还需要下载…

网站前端_Bootstrap.基础入门.0001.模版标准/样式标准/脚本标准入门?

简单介绍:1. Bootstrap于2010年Twitter开源将常见的CSS布局小组件和JS插件进行了封装,大大规范且提高了代码质量及开发效率.2. Bootstrap包含完整的基础CSS插件,丰富的预定义样式表,基于JQuery的JS插件集,非常灵活的响应式删栏系统,支持跨平台,且完全支持自定义.注意: Bootstra…

IT老鸟带你解决银行招标网站[金采网]无法注册供应商问题

目录 一、金采网介绍 二、背景及问题 三、分析思路 四、解决办法 五、扩展解决思路 六、最后感想 一、金采网介绍 金采网(http://www.cfcpn.com)是中国金融学会金融采购专业委员会对外的工作平台,是国内唯一的、专业服务金融行业采购业务的权威网站平台。 金…

QA小课堂:一个网站或者APP开发要多少钱

经常遇到朋友问我:“开发一个京东商城需要多少钱?开发一个滴滴打车需要多少钱?”类似这样的需求,就连我这样一名伪开发者都不愿意去骗客户或者朋友,因为这种问题是很难回答出来的。为什么这么说呢?要知道类…

selenium测试https网站

为什么80%的码农都做不了架构师?>>> 当访问一个https的网站,通常浏览器会收到一份证书,该证书包含了服务器的公钥以及CA的签名 服务器的公钥 服务器一般会生成一对密钥,公钥和私钥 服务器把公钥放在证书中请求CA的签名…

给你的网站添加支付宝即时到帐按钮

前言 大家都知道PayPal有一个非常使用的「一键转账」功能,但是自从支付宝的个人收款主页停止服务后,支付宝已经无法实现该功能了,那有我天朝人民想不到的办法呢?今天博猪就来教大家使用一个极其简单的 form 标签经过 POST 可以一键…

网站安全狗IIS版、服务器安全狗Windows版

2019独角兽企业重金招聘Python工程师标准>>> 2016年11月2日,云安全服务与解决方案提供商安全狗升级发布网站安全狗Windows_IIS版本,版本号为 V4.0.15716正式版,该版本优化了多个功能服务,目前安全狗官网http://www.saf…

hexo的next主题个性化教程:打造炫酷网站

注意下面那些图床失效了,可以在这里看http://shenzekun.cn/hexo%E7%9A%84next%E4%B8%BB%E9%A2%98%E4%B8%AA%E6%80%A7%E5%8C%96%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B.html 看到有些next主题的网站很炫酷,那么是怎么配置的呢?接下来我会讲一讲…

《网站设计 开发 维护 推广 从入门到精通》——1.2 网页美工常用工具

本节书摘来自异步社区《网站设计 开发 维护 推广 从入门到精通》一书中的第1章,第1.2节,作者: 何新起 , 娄彦杰 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.2 网页美工常用工具 制作网页第一件事就是要选定网页制作软件。虽然…

LVS(负载均衡)+keepalived(HA)+Nginx(反向代理)+Web(动静态网站服务器)

考虑到LVS和Nginx的缺点(由于LVS采用的是同步请求转发策略而Nginx采用的是异步转发策略,结合两者的缺点:作为负载均衡服务器的Nginx和LVS处理相同的请求时,所有的请求和响应流量都会经过Nginx服务器,但是使用LVS时,仅请…

快播CEO认罪,成人网站对技术的要求有多高?

快播涉传播淫秽物品案昨日在海淀法院开庭审理。快播公司、王欣、张克东、牛文举均表示认罪悔罪。吴铭表示快播公司犯罪成立。 庭前法院委托鉴定机关,对涉案的四台缓存服务器的硬盘数据是否受到改写污染问题进行了鉴定。鉴定结论是:未发现硬盘中的视频文件…

收录高的网站关键词一定要这么布局

随着互联网的高速发展,网站几乎成了每一家企业后者公司不可缺少的一部分,网站也成了公司或者企业的第二个基地——线上展示。这个在网站建设的时候需要先给网站定位好,因为需要提前做好关键词的布局准备,虽然行业千千万&#xff0…