
架构
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第七章 随需应变:网站的可扩展架构
为什么有的网站必须规定系统发布日,一到发布日如临大敌,整个技术部都加班通宵达旦,而有的网站就可以随时发布,新功能就可以随时上线?这些赖于网站的扩展性架构设计,就是在对现有系统影响最小的情况下,系统功能可持续扩展及提升能力。扩展是针对代码添加,伸缩是增对资源增加减少。7.1 构建可扩展的网站架构开发低耦合系统是软件设计的终极目标之一,从各种软件到工具集再到各种框架,降低软件系统耦合性是...原创 2019-01-10 14:27:40 · 201 阅读 · 0 评论 -
第七章 MySQL高级特性
MySQL从5.0和5.1版本开始引入很多高级特性,例如分区、触发器等,这对有其他关系数据库使用背景的用户来说可能并不陌生。到底性能如何,还需要用户真正使用过才知道。7.1 分区表对于用户来说,分区表示一个独立的逻辑表,但是底层由多个物理子表构成,实现分区表的代码实际上是一对一组底层表的句柄对象的封装。分区的一个主要目的是将数据按照一个较粗的粒度分在不同的表中。在下面场景中,分区可以起到...原创 2019-01-16 15:50:33 · 232 阅读 · 0 评论 -
第六章 查询性能优化
前面的章节介绍了如何设计最优的库表结构、如何建立最好的索引,这些对于高性能来说是必不可少的。但是还是需要合理的设计查询,如果查询写得糟糕,再合理、索引再合适也无法实现高性能。6.1 为什么查询速度回满才查询的时候,不同的地方花费时间包括网络、CPU计算、生成统计信息和执行计划、锁等待等操作,尤其是向底层存储引擎检索数据的调用操作,这些调用需要在内存操作,cpu操作或者内存不够倒是io操作很长...原创 2019-01-15 22:13:12 · 207 阅读 · 0 评论 -
《高性能MySQL》第五章 创建高性能的索引
索引(Key)是存储引擎用于快速找到记录的一种数据结构,这个是索引的基本功能,当然,它还有一些其他有用的属性。5.1 索引基础select first_name from sakila.actor where actor_id=5;如果在actor_id列上建有索引,则mysql将使用索引找到actor_id为5的行,mysql现在索引上按值查找,然后返回所有包含该数值的行。mysql只...原创 2019-01-15 20:52:22 · 3181 阅读 · 5 评论 -
《大型网站技术架构原理与解析》第六章 永无止境:网站伸缩性架构
网站伸缩性值得是不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数据就可以扩大或者缩小网站的服务处理能力。6.1 网站架构的伸缩性设计一般来说,网站伸缩性设计可分为两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩。6.1.1 不同功能进行物理实现伸缩6.1.2 单一功能通过集群规模实现伸缩单一服务器分离已经不足以支撑了,达到一定规模后,就需要用集群...原创 2019-01-09 15:51:48 · 192 阅读 · 0 评论 -
《大型网站技术架构原理与解析》第五章-万无一失:网站高可用架构
参考书籍《大型网站技术核心原理与案例分析》网站的可用性描述可有效访问的特性,Availability.5.1 网站可用性的度量与考核网站最终呈现在用户面前,经过了很多环节,中间存在很多问题:DNS被劫持、CDN服务挂掉、网站服务器宕机、网络交换机可能失效、硬盘会损坏、网卡会松动、机房停电、空调失灵、程序会有bug、黑客攻击、促销带来的大量访问、第三方合作伙伴的服务可不可用。5.1...原创 2019-01-09 15:11:36 · 233 阅读 · 0 评论 -
《大型网站技术架构原理与解析》第三章 大型网站核心架构要素
关于什么是架构,一种比较通俗的说话就是最高层次的规划,难以改变的决定。从这种意义上来说,人生规划也是一种架构,选什么学校、学什么专业、进什么公司、找什么对象、过什么样的生活,都是自己的人生架构。除了当前系统的功能需求外,软件架构还需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。3.1 性能性能问题无处不再,从用户浏览器到数据库,用户请求的所有环节都可以进行性能优化。在...原创 2019-01-08 23:23:25 · 131 阅读 · 0 评论 -
《大型网站技术架构原理与解析》第二章 大型网站架构模式
模式:每一个模式描述了一个在我们周围不断重复发生的问题及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必重复工作。2.1 网站架构模式为了解决大型网站面临的高并发访问、海量数据处理、高可靠运行等一系列问题与挑战,大型互联网公司提出了许多解决方案,以实现网站高性能、高可用、易伸缩、可扩展、安全等各种技术架构目标。2.1.1 分层分层是将系统在横向维度上切分成几个部分,每个部分...原创 2019-01-08 23:12:51 · 129 阅读 · 0 评论 -
《大型网站技术架构原理与解析》第一章 大型网站架构演化
1.1 大型网站软件系统的特点与传统企业应用系统相比,大型互联网系统有以下特点:1、高并发、大流量2、高可用3、海量数据4、用户分布广泛,网络情况复杂5、安全环境恶劣6、需求快速变更,发布频繁7、渐进式发展1.2 大型网站架构演化历程1.2.1 初始阶段的网站架构程序、数据库、文件等资源都在一台服务器上面,绰绰有余。1.2.2 应用服务和数据服务分离用户多,数据存储空间...原创 2019-01-08 23:10:48 · 165 阅读 · 0 评论 -
《大型网站技术架构原理与解析》第四章 瞬时响应:网站的高性能架构
什么叫高性能网站?从吞吐量、平均每个请求处理时间、请求响应时间来看。这些指标是客观的,同时也是主观的,主观的感受是一个很微妙的东西,不同人感受不同。4.1 网站性能测试4.1.1 不同视角下的网站性能1、用户视角的网站性能浏览器解析html速度差异、互联网带宽差异在实践过程中,使用一些前端优化手段:优化html样式、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用CDN服务...原创 2019-01-08 20:33:45 · 272 阅读 · 0 评论 -
第四章 Schema与数据类型优化
良好的物理逻辑设计是高性能的基石,应根据系统将要执行的查询语句来设计schema,有时反范式的设计可以加快某些类型的查询。4.1 选择优化的数据类型MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。一般有以下原则:更小通常比较好简单就好尽量避免NULL4.1.1 整数类型int(8\16\24\32\64)4.1.2 实数类型4.1.3 字符串...原创 2019-01-13 17:44:39 · 197 阅读 · 0 评论 -
第三章 服务器性能剖析
如何确认服务器是否达到了性能最佳的状态、找出某条语句为什么执行不够快,以及诊断被用户描述成停顿、堆积、卡死的故障。3.1 性能优化简介性能:为完成某件任务所需的时间度量,换句话说即响应时间。作者花90%以上的时间在测量响应时间花在哪里,如果没有找到正确的答案,就是测量方式错了。有的人优化cpi利用率、优化每秒查询量(吞吐量优化),这些都可以说是副产品。3.1.1 通过性能剖析进行优化...原创 2019-01-13 16:57:55 · 171 阅读 · 0 评论 -
《高性能MySQL》 第二章 MySQL基准测试
benchmark是MySQL新手和专家需要掌握的基本技能。2.1 为什么需要基准测试验证基于系统的一些假设重现系统中某些异常行为,解决异常测试系统当前运行情况模拟比当前系统更高的负载测试应用适应可变环境能力。(随机并发峰值下额性能表现和不同配置的服务器之间的性能表现)基准测试尽量简单直接,结果之间容易相互比较,成本低且容易执行。2.2. 基准测试的策略基准测试的策略主...原创 2019-01-12 20:07:10 · 212 阅读 · 0 评论 -
《高性能MySQL》 第一章 Mysql架构与历史
本章概要地描述Mysql的服务器架构、各种存储引擎之间的主要区别,以及区别的重要性。1.1 Mysql逻辑架构最上层的连接处理、授权认证、安全都是cs模式类似架构。第二层是核心的一层,包括**查询、分析、优化、缓存以及所有的内置函数(日期、时间、数据和加密等)**所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。第三层包括了存储引擎,负责mysql中数据的存储和提取。和...原创 2019-01-12 19:23:20 · 625 阅读 · 0 评论 -
《大型网站技术架构原理与解析》第八章 固若金汤:网站的安全架构
2011年微博XSS共计以及优快云多个网站密码用户泄露。8.1 道高一尺魔高一丈的网站应用攻击与防御70%的web应用共计都来自XSS攻击和SQL注入攻击。此外还有CSRF\SESSION劫持等手段。8.1.1 XSS攻击XSS即跨站点脚本共计,黑客篡改网页,注入html脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的方式。常见两种,1种是反射型诱导点击嵌入恶意脚本。防...原创 2019-01-10 15:05:12 · 226 阅读 · 0 评论 -
《高性能MySQL》第八章 优化服务器设置
创建一个号的配置最快的方法,是从理解mySQL内核和行为开始。加入我的服务器有32GB内存,12核CPU,怎么样配置最好?8.1 MySQL配置的工作原理任何打算长期使用的配置应该用全局配置文件,否则会有忘记的风险。(对!)/etc/my.cnf /etc/mysql/my.cnf一定要清楚的知道服务器配置文件的位置,以及其读取顺序。mysqlmanager可以一个服务器多个配置实例...原创 2019-01-16 16:55:00 · 379 阅读 · 0 评论