mysql大型网站技术架构核案例分析

发布时间:2022-03-18 16:29:44 作者:iii
来源:亿速云 阅读:162

这篇文章主要介绍了mysql大型网站技术架构核案例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql大型网站技术架构核案例分析文章都会有所收获,下面我们一起来看看吧。

七、随需应变:网站的可扩展架构

扩展性(Extensibility):指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。是系统架构设计层面的开闭原则,架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。

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

A.构建可扩展的网站架构

1.软件架构师最大的价值不在于掌握多少先进的技术,而在于具有将一个大系统切分成N个低耦合的子模块的能力,这些子模块包含横向的业务模块,也包含纵向的基础技术模块。

2.核心思想是模块化,在此基础上,降低模块间的耦合性,提高模块的复用性。

B.利用分布式消息队列降低系统耦合性

1.事件驱动架构

2.分布式消息队列

C.利用分布式服务打造可复用的业务平台

1.分布式服务通过接口分解系统耦合性,不同子系统通过沙漠玫瑰的接口描述进行服务调用。

2.巨无霸系统的问题:编译、部署困难;代码分支管理困难;数据库连接耗尽;新增业务困难;

3.解决方案

4.Web Service与企业级分布式服务

缺点:臃肿的注册与发现机制;低效的XML序列化手段;开销相对较高的HTTP远程通信;复杂的部署与维护手段;

5.大型网站分布式服务的需求与特点

负载均衡、失效转移、高效的远程通信、整合异构系统、对应用最少侵入、版本管理、实时监控

6.分布式服务框架设计:Thrift、Dubbo

D.可扩展的数据结构

利用NoSQL数据库中使用的ColumnFamily(列族)设计。

E.利用开放平台建设网站生态圈

1.开放平台是网站内部和外部交互的接口,外部需要面对人多的第三方开发者,内部需要面对网站内诸多的业务服务。

2.架构:API接口、协议转换、安全、审计、路由、流程

八、固若金汤:网站的安全架构

A.网站应用攻击与防御

1.XSS攻击

2.注入攻击

3.CSRF攻击

4.其他攻击漏洞

5.Web应用防火墙:ModSecurity

6.网站安全漏洞扫描

B.信息加密技术及密钥安全管理

1.单向散列加密:md5、sha等,加salt

2.对称加密:DES算法、RC算法等,加密使用同一个密钥

3.非对称加密:RSA算法

4.密钥安全管理

C.信息过滤与反垃圾

1.文本匹配:解决敏感词过滤的问题

2.分类算法:贝叶斯算法、TAN算法、ARCS算法

3.黑名单:Hash表、布隆过滤器

D.电子商务风险控制

1.风险:账户风险、买家风险、卖家风险、交易风险

2.风控

九、淘宝网的架构演化案例分析

1.LAMP->JAVA/ORACLE->MySQL/NoSQL

2.业务推动技术不断进步

十、维基百科的高性能架构设计分析

A.Wikipedia网站整体架构:LAMP+开源产品,GeoDNS、LVS、Squid、Lighttpd、PHP、Memcached、Lucene、MySQL

B.Wikipedia性能优化策略

1.前端性能优化

2.服务端性能优化:使用APC、Imagemagick、Tex、替换PHP的字符串查找函数starter()使用更优化的算法

3.后端性能优化:

缓存

MySQL

十一、海量分布式存储系统Doris的高可用架构设计分析

对于一个数据存储系统而言,高可用意味着:高可用的服务、高可靠的数据

A.分布式存储系统的高可用架构

1.冗余:服务器热备、数据多份存储

2.系统整体划分:

B.不同故障情况下的高可用解决方案

1.分布式存储系统的故障分类:瞬时故障、临时故障、永久故障

2.瞬时故障解决:多次重试

3.临时故障解决:需要人工干预,有问题服务器使用临时存储服务器

4.永久故障解决:启用备用服务器替代永久失效服务器

十二、网购秒杀系统架构设计案例分析

A.秒杀活动的技术挑战:对现有网站业务造成冲击、高并发下的应用,数据库负载、突然增加的网络及服务器带宽、直接下单

B.秒杀系统的应对策略

C.秒杀系统架构设计

1.如何控制秒杀商品页面购买按钮的点亮:使用一个JS文件,开始时修改其中内容,每次都请求,不被CDN等缓存,使用随机版本号。

2.如何只允许第一个提交的订单被发送到订单子系统:控制进入下单页面的入口,只有少数用户能进入,其他用户直接进入秒杀结束页面。比如10台服务器,每台处理10个请求,当请求超过10个,其他返回错误,再请求全局缓存记录,如果是第一个,进入订单页面,其他返回失败。

十三、大型网站典型故障案例分析

A.写日志也会引发故障

B.高并发访问数据库引发的故障

C.高并发情况下锁引发的故障

使用锁操作要谨慎

D.缓存引发的故障

缓存服务器已经是网站架构不可或缺的一部分,需要和数据库一样的级别去管理

E.应用启动不同步引发的故障

F.大文件读写独占磁盘引发的故障

小文件和大文件不要共用存储

G.滥用生产环境引发的故障

访问生产环境要格外小心,数据库请专门的DBA维护

H.不规范的流程引发的故障

代码提交前用diff命令进行比较,确认没有提交不该提交的代码;加强code review,提交前至少被一个其他工程师做过code review并共同承担因代码引起的故障责任

I.不好的编程习惯引发的故障

注意对空对象、空值等的处理

十四、架构师领导艺术

A.关注人而不是产品

1.一群优秀的人做一件他们热爱的事,一定能取得成功

2.最好的软件管理是发掘项目组每个成员的优秀潜能

3.寻找一个值得共同奋斗的目标,营造一个让大家都能最大限度发挥自我价值的工作氛围

B.发掘人的优秀

1.是事情成就了人,而不是人成就了事

2.大多数人,包括我们自己,都比自己以为的更优秀,有些优秀需要在合适的环境中才会被激发出来,比如做一些有挑战的事,和更优秀的人合作,抑或拥有了超越自我的勇气

3.发掘人的优秀远比发掘优秀的人更有意义

C.共享美好蓝图

1.蓝图应该是表述清楚的:产品要做什么、不做什么、要达到什么业务目标

2.蓝图应该是形象的:产品能为用户创建什么价值、能实现什么样的市场目标、产品最终会长什么样

3.蓝图应该是简单的:一句话话说明白:我们在干什么

4.架构师要保持对目标蓝图的关注,对任何偏离蓝图的设计和决定保持警惕,错误的偏离要及时修正,必要的变更要经过大家讨论,并且需要重新获得大家的认同。

D.共同参与架构

1.不要只有架构师一个人拥有架构

2.让其他人维护框架与架构文档

E.学会妥协

1.对架构和技术方案的反对意见,其实意味着架构和技术方案被关注、被试图理解和接受。架构师不应过于敏感,应该坦率分享意见,求同存异

2.对于技术细节的争论应该立即验证而不是继续讨论

3.当大家不在讨论架构的时候,表明架构已经融入到项目、系统和开发者中了,架构师越早被遗忘表明架构越成功

F.成就他人

1.我们的工作不仅是生产产品,还要成就人,并最终成就我们自己

2.做成一个项目不但要给客户创造价值,为公司盈利,还要让项目成员获得成长

3.架构师作为团队的技术领导者,在项目过程中不要去试图控制什么,带着一个弹性的计划和蓝图推进,团队会管好他们自己

十五、网站架构师职场攻略

A.发现问题,寻找突破

1.所谓问题,就是体验——期望,当体验不能满足期望,就会觉得出了问题。消除问题有两种手段:改善体验或者降低期望。降低期望只是回避了问题,而如果直面期望和体验之间的差距,就会发现问题所在,找到突破点。

2.新员工首先要做的事情是融入团队

3.新员工最不需要做的事情就是证明自己的能力。

B.提出问题,寻求支持

1.问题被发现,它只是问题发现者的问题,而不是问题拥有者的问题,如果想要解决一个问题,就必须提出这个问题,让问题的拥有者知道问题的存在。

2.提出问题Tips:

3.所谓直言有讳是指想要表达的意图要直截了当说明白,不要兜圈子,但是在表达方式上要有所避讳,照顾到当事人的感受

C.解决问题,达成绩效

1.解决我的问题之前,先解决你的问题

2.适当的逃避问题

十六、漫话网站架构师

A.按作用划分架构师

设计型架构师、救火型架构师、布道型架构师、Geek型架构师

B.按效果划分架构师

夏尔巴人架构师:通常会开发项目中最具技术难度和挑战性的模块、斯巴达人架构师、达官贵人架构师

C.按职责角色划分架构师

产品架构师:参与产品的整个生命周期、基础服务架构师(平台型架构师)、基础设施架构师

D.按关注层次划分架构师

只关注功能的架构师、关注非功能的架构师、关注团队组织与管理的架构师、关注产品运营的架构师、关注产品未来的架构师

E.按口碑划分架构师

最好的架构师、好的架构师、一般的架构师、差的架构师、最差的架构师

F.非主流方式划分架构师

普通架构师、文艺架构师、1+1架构师

附录A:大型网站技术一览

A.前端架构

浏览器优化技术、CDN、动静分离,静态资源独立部署、图片服务、反射代理 、DNS

B.应用层架构

开发框架、页面渲染、负载均衡、Session管理、动态页面静态化、业务拆分、虚拟化服务器

C.服务层架构

分布式消息、分布式服务、分布式缓存、分布式配置

D.存储层架构

分布式文件、关系数据库、NoSQL数据库、数据同步

E.后台架构

搜索引擎、数据仓库、推荐系统

F.数据采集(日志)与监控

浏览器数据采集、服务器业务采集、服务器性能数据采集、系统监控、系统报警

G.安全架构

Web攻击、数据保护

H.数据中心机房架构

机房、机柜、服务器 

关于“mysql大型网站技术架构核案例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“mysql大型网站技术架构核案例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. ​MySQL Router的案例分析
  2. mysql多行变多列的案例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:mysql大型网站技术架构核心原理是什么

下一篇:mysql社交平台如何设计与实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》