自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 架构概述(一)架构设计的十个阶段

大型网站特点:高并发访问、大流量、海量数据处理、高可靠运行、用户分布广、网络情况复杂、安全环境恶劣、需求变更快、发布频繁、渐进式发展。大型网站技术要求:高性能、高可用、易伸缩、可扩展、安全。架构核心思路:随网站所需,灵活应对,渐进式发展。1、初始阶段特点:一台机器2、应用服务器和数据服务器分离特点:提高并发能力提升数据存储空间3、使用缓存改善性能特点:二八定律,80%的业务访问量在20%的数据上本地缓存远程缓存此时单一应用可处理连接数称为整个网站瓶颈4、使用应用服务器

2021-12-20 15:19:39 622

原创 架构师种类

除了架构设计、软件开发等技术类工作,通常还需要承担一些管理职能:规划产品路线、估算人力资源和时间资源、安排人员职责分工、确定计划里程碑、知道工程师工作、过程风险评估与控制等。设计型架构师负责架构设计,同时负责架构的实施、落地、演化发展、推广重构;救火型架构师救火员角色,系统出现故障或者“灵异现象”时出马解决。导师型架构师对架构有深刻的认知,但由于自身的局限或不能跟上技术的潮流变成忽悠型“大师”。战斗型架构师:解决最难的问题,带给团队必胜的信念。产品型架构师产品设计、PV/UV估算、系统

2021-12-17 17:19:10 671

原创 秒杀系统架构

一、挑战(1)对网站现有的业务造成冲击(2)高并发下的应用、数据库负载(3)突然增加的网络及服务带宽(4)不到时间直接下单二、应对策略(1)秒杀系统独立部署(2)商品页面静态化(3)临时租借带宽(4)动态生成下单页面URL三、架构设计(1)下单页面尽量简单(2)控制点亮秒杀按钮JS脚本控制,在静态页面输入一个JS文件引用,文件中加入是否开始标志和下单页面URL的随机参数,当秒杀开始时生成一个新的JS文件并被浏览器加载,控制页面展示。(3)只允许一个提交的订单被发送到订单子系统控

2021-12-17 17:16:19 434

原创 架构要素实现(五)安全架构

一、网站应用攻击与防御(1)XSS攻击:恶意注入HTML脚本防御方式:消毒(转码)、httpOnly(禁止js访问带有httpOnly属性的cookie)(2)注入攻击:SQL注入和OS注入。防御方式;错误回显关闭、参数绑定(让注入SQL预编译为参数)。(3)CSRF攻击:跨域请求,核心是利用浏览器Cookie或服务器session策略,盗取用户信息。防御方式:表单Token验证、验证码、Referer check(验证身份来源,大多数用于图片被盗用)(4)其他攻击和漏洞错误回显、HTML注

2021-12-17 17:14:51 3670

原创 架构要素实现(四)可扩展性

一、可扩展的网站架构核心思想:模块化、低耦合。二、利用分布式消息队列降低系统耦合性通过低耦合的模块之间传输事件消息,以保持模块的松散耦合,并借助事件消息的通信完成模块之间的合作。方法:分布式消息队列三、利用分布式服务打造可复用的业务平台巨无霸系统带来如下问题:编译部署困难、代码分支管理困难、数据库连接耗尽、新增业务困难。方法:拆分、独立模块部署、降低系统耦合性。纵向拆分:大应用拆分成多个独立小应用。横向拆分:复用的业务拆分出来,独立分布式部署。大型网站分布式服务的需求与特点(1)负

2021-12-17 17:13:55 1003

原创 架构要素实现(三)伸缩性

伸缩性是指不需要改变网站的软硬件设计,通过增加部署的服务器数量就可以扩大或缩小网站的服务处理能力。一、网站伸缩性设计方法:(1)不同功能进行物理分离实现伸缩(2)单一功能通过集群规模实现伸缩二、应用服务器集群的伸缩性设计(NGINX配置)方法:(1)HTTP重定向负载均衡(2)DNS域名解析负载均衡(3)反向代理负载均衡(4)IP负载均衡(5)数据链路层负载均衡(6)负载均衡算法轮询、加权轮训、随机、最少连接、源地址散列。三、分布式缓存集群的伸缩性设计(redis集群)分布式缓

2021-12-17 17:11:04 2244

原创 架构要素实现(二)高可用

一、高可用标准互联网业界通常用多少个9来衡量网站的可用性,如联通为4个9,即99.99%可用,意味着一年只有53分钟不可用。使用考核指标方法,从管理的角度提高可用。如下权重表:二、高可用架构分层:应用层、服务层、数据层。三、高可用应用核心思路:“无状态性”,应用服务器不保存业务的上下文信息,而是依据每次请求提交的数据进行响应的业务逻辑处理,多个服务之间完全对等。方法:(1)通过负载均衡进行无状态服务的失效转移(2)集群session管理复制(早期方案,废弃)绑定(同一IP下,负载到

2021-12-17 17:09:46 243

原创 架构要素实现(一)高性能

一、网站性能测试(确定优化标准)不同视角下的网站性能用户视角下主要包括:从打开浏览器到看到想要的内容。终端、不同浏览器、不同网络,这些对延迟的影响可能远大于网站服务器请求时间。常用方法:前端优化、CDN、反向代理。开发视角下主要包括:响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。常用方法:缓存、集群、异步、代码优化。运维视角下主要包括:设施性能和资源的利用率,比如带宽、服务器硬件配置等。常用方法:建设优化骨干网络、使用高性价比定制服务器、虚拟服务器。性能测试的指标响应时间

2021-12-17 17:02:25 1447

原创 架构概述(三)核心架构要素:性能、可用性、伸缩性、扩展性和安全性

一、性能标准:响应时间、TPS、系统性能计数器等方法:(1)浏览器端:浏览器缓存、页面压缩、合理布局、建超Cookie传输等。(2)动静分离:CDN、反向代理、缓存热点文件。(3)应用端:本地缓存、分布式缓存。(4)异步操作,发送至消息队列直接返回用户。(5)应用服务器使用集群(6)代码层面:使用多线程、改善内存管理等手段。(7)数据库端:索引、缓存、SQL优化等,NoSQL数据库通过优化数据模型、存储结构、伸缩特性等手段提高性能。二、可用性标准:7*24小时可用,4个9的指标,也

2021-12-15 16:52:08 4795

原创 架构概述(二)网站架构模式

一、分层:方法:横向分层:应用层(UI、前端)、服务层、数据层。优点:更好的将一个庞大的软件系统切分成不同的部分,便于分工合作开发和维护。挑战:规划边界、接口。二、分割:方法:纵向分割:不同的业务进行分割,例如购物、论坛、搜索、广告分割成不同的应用,由独立团队进行负责,可以部署在不同的服务器上。优点:同上三、分布式:方法:1、分布式应用和服务:可以改善网站性能和并发性、加快开发和发布速度、减少数据库连接资源消耗。还可以不同的应用复用共同的服务,便于业务功能扩展(中台)。2、分布式静态

2021-12-15 16:51:28 893

原创 常见管理学原理、法则

彼得原埋:组织中,每个人都可能朝不适合他的岗位发展光环效应:一个人某一方面好,人们往往就认为他其他方面也好墨菲定律:害怕某事发生,而这件事就肯定发生帕金森定律:无论给多少时间,事情总是要拖到最后一刻才能完成布鲁克斯定律:为一个延误的IT项目增加人员,将导致更多的延误手表定律:当你有两块手表,走时不相同时,你就不知道时间了KISS法则(keep it simple and short):让事情简单些,短一些黄金法则:你怎样对待别人,别人就怎样对待你...

2021-10-19 14:41:55 161

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除