资讯专栏INFORMATION COLUMN

网站技术架构

wenshi11019 / 1117人阅读

摘要:大型网站技术架构核心原理与案例分析笔记高可用性什么是可用性可用性是指服务可被有效访问的特性,不是指有用性。布隆过滤器可能会误杀,因为存在名字不在黑名单中,但是由于其它黑名单中的名字,导致其映射的位置都被置为。

《大型网站技术架构:核心原理与案例分析》笔记
高可用性 什么是可用性?

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

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

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

实现高可用的手段

由集群提供服务,通过负载均衡手段将请求分发到具体节点上,在节点不可用时,从服务注册列表中清楚。

分级管理。高优先级的服务拥有更好和更多的资源。

超时设置。控制访问的超时,防止大量的请求即占用资源,又无法获得响应。

服务降级。对一些请求直接失败,防止机器负载过高导致机器崩溃,结果导致整个服务崩溃。

预发布和线上发布的区别

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

保证服务可用性的意义

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

伸缩性 什么是伸缩性

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

什么是一致性Hash

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

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

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

扩展性 什么是扩展性

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

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

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

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

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

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

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

网络安全 加密技术

单向散列加密。对明文进行加密,加密算法固定,但是无法通过密文解密为明文。通常用于对用户密码进行加密,加密后存入数据库。即使数据库被别人获取,也无法获得用户的明文密码,也无法通过密文密码登陆用户账户。采用加盐来防止对密文的破解。如,MD5,SHA。

对称加密。明文的加密和密文的解密采用的都是同一个秘钥。如,DES,RC。

非对称加密。明文通过公钥加密,密文通过私钥解密。私钥也可以对明文加密,用公钥解密,起到数字签名的作用。如,RSA算法。

布隆过滤器

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

架构师 什么是好的架构师

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

事成就了人

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72156.html

相关文章

  • 进阶Java架构师必看的15本书

    摘要:阿里巴巴的共享服务理念以及企业级互联网架构建设的思路,给这些企业带来了不少新的思路,这也是我最终决定写这本书的最主要原因。尽在双阿里巴巴技术演进与超越是迄今唯一由阿里巴巴集团官方出品全面阐述双八年以来在技术和商业上演进和创新历程的书籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型网站技术架构:核...

    Julylovin 评论0 收藏0
  • 一文读懂TOGAF企业架构

    摘要:虽然是一个可用于开发和实施企业系统,流程和结构的框架,但可用作可视建模语言,可用于创建描述。验证业务上下文并创建架构工作声明业务架构开发业务架构。 TOGAF ®,由The Open Group的标准,是一个成熟的企业架构方法和框架由世界领先的组织使用,以提高业务效率。它是最突出和最可靠的企业架构标准,可确保企业架构专业人员之间的一致标准,方法和通信。精通TOGAF标准的企业架构专业人...

    cfanr 评论0 收藏0
  • GIAC 2017全球互联网架构大会最新日程

    摘要:月日至日,高可用架构和联合主办的全球互联网架构大会将于上海光大会展中心举行。全球互联网架构大会是高可用架构技术社区推广的面向架构师技术负责人及高端技术从业人员的技术架构大会。本次大会共有大板块方向,场技术专题,个互联网架构案例。 showImg(https://segmentfault.com/img/bVZ3Vh?w=600&h=375);12月22日至23日,高可用架构和msup联...

    617035918 评论0 收藏0
  • GIAC 2017全球互联网架构大会最新日程

    摘要:月日至日,高可用架构和联合主办的全球互联网架构大会将于上海光大会展中心举行。全球互联网架构大会是高可用架构技术社区推广的面向架构师技术负责人及高端技术从业人员的技术架构大会。本次大会共有大板块方向,场技术专题,个互联网架构案例。 showImg(https://segmentfault.com/img/bVZ3Vh?w=600&h=375);12月22日至23日,高可用架构和msup联...

    Imfan 评论0 收藏0
  • 专访58沈剑:除了架构,我还想认真谈谈管理

    摘要:年月日,第届技术管理工作坊将在深圳华侨城洲际酒店举行。壹佰案例在开始前采访了沈剑老师,先行剧透架构师转型做管理的感悟。 showImg(https://segmentfault.com/img/bVxMfU);2016年6月25-26日,第27届MPD技术管理工作坊将在深圳华侨城洲际酒店举行。本次工作坊,我们邀请了58到家技术总监沈剑老师,分享《技术团队的接手、搭建与发展实践 》, 讲...

    masturbator 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<