- 博客(388)
- 收藏
- 关注
原创 MySQL主从复制
MySQL:大规模,高并发web服务器体系结构:MySQL复制,Nginx,LNMP,Memcached,Tomcat(java,servlet,集群),varnish(squid)NoSQL(redis,mongodb)MySQL日志类型:二进制日志,事务日志,错误日志,一般查询日志,中继日志,慢查询日志。二进制日志:一般放在数据目录, mysql-bin.xxxxx, 滚动...
2018-09-19 23:46:26
600
原创 MySQL编译安装和Xtrabackup备份
编译安装MySQL-5.5cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。编译安装MySQL-5.5一、安装cmake跨平台编译器# tar xf cmake-2.8.8.tar.gz# cd ...
2018-09-19 23:46:15
547
原创 Varnish详解
一、关于Varnish1、varnish系统架构varnish主要运行两个进程:Management进程和Child进程(也叫Cache进程)。Management进程主要实现应用新的配置、编译VCL、监控varnish、初始化varnish以及提供一个命令行接口等。Management进程会每隔几秒钟探测一下Child进程以判断其是否正常运行,如果在指定的时长内未得到Chil...
2018-09-19 23:46:03
3964
原创 HAproxy
一、HAProxy简介HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴...
2018-09-19 23:45:49
307
原创 Memcached详解
Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序。它是一个基于内存的“键值对”存储,用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等。memcached是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一...
2018-09-19 23:45:37
1062
原创 Nginx详解
nginx:https://www.nginx.com/resources/wiki/ web服务器 反向代理:web,mailhttp://nginx.org/en/ 模块化 Tengine varnish,squid nginx:cache(disk) httpd: cache(disk,me...
2018-09-19 23:45:25
743
原创 高可用集群详解
高可用集群原理详解 资源粘性:资源约束:Constraint 排列约束: (colocation) 资源是否能够运行于同一节点 score: 正值:可以在一起 负值:不能在一起 位置约束:(location), score(分数) 正值:倾向于此...
2018-09-19 23:45:02
2462
原创 MySQL详解
安装MySQL 5.7:https://www.linuxidc.com/Linux/2016-09/135288.htm忘记root密码:http://www.jb51.net/article/77858.htm关系型数据库基础理论文件: 文件:数据冗余和不一致性 表示层数据访问困难 ...
2018-09-19 23:43:43
331
原创 Tomcat详解
PHP: 开发语言:脚本语言 运行环境:解释执行 Zend Engine:Opcode Xcache,APC,eAccelerator MVC: data:数据 bussiness:业务 presentation:展示C/C++:CPU,OS ...
2018-09-19 23:43:02
738
原创 ELK
ELK stack: Lucene: 文档: Document 包含了一个或多个域的容器; field:value 域: 有很多选项 索引选项、存储选项、域向量使用选项; 索引选项用于通...
2018-09-19 23:41:15
925
原创 LVS详解
HardwareF5,BIG IP Citrix,Netscaler A10Software四层LVS七层:反向代理Nginx:http,smtp,pop3,imap haproxy:http,tcp(mysql,smtp)lvs工作在input链上,当请求到达本机时,修改地址,转发。lvs和iptables不能同时使用。LVS:类型: NAT...
2018-09-19 23:39:16
1016
原创 第二章 数据通信基础
本章主要内容2.1 数据通信基础知识2.2 传输媒体2.3 编码和复用2.4 交换技术2.5 数字传输技术2.6 接入网2.7 物理层概述2.8 小结2.1 数据通信基础知识数据(Data):运送(携带)信息的实体信息(Information):是数据的内容或含义信号(Signal):数据的电气或者电磁表现(数据以信号的形式传播)信息通过通信系统传输 把携带信息的数据用物理信号形式通过介质传...
2018-07-13 13:18:49
14586
1
原创 第十一章 软件能力成熟度模型
本章内容提要CMMI概述CMMI的成熟度等级及其过程域CMMI的应用PSP,TSP与CMMI第一节 CMMI概述CMMI( Capability Maturity Model Integration)即能力成熟度模型集成,由CMM (Capability Maturity Model)发展而来,它最早是应用于软件业的一个过程改进模型,为软件组织描述了从混乱的、不成熟的软件过程向成熟有序的软件过程进...
2018-07-03 09:54:38
9390
2
原创 第十章 软件项目收尾和验收
本章内容提要项目收尾概述项目移交与清算项目后评价合同收尾案例分析第一节 项目收尾概述收尾过程是项目干系人和客户对最终产品进行验收,使项目有序地结束的过程。项目结束时,结果或是成功或是失败,评定项目成功与失败的标准主要有3个:是否有可交付的合格成果;是否实现了项目目标;是否达到项目客户的期望。项目结束原因结束一个项目的原因有多种,例如:项目计划中确定的可交付成果已经出现,项目的目标已经成功实现。项目...
2018-07-03 08:59:18
6376
原创 第九章 软件项目风险管理
软件项目中的风险不断变换的需求低劣的计划和估算不可信赖的承包人欠缺的管理经验人员问题技术失败政策的变化……本章内容要点风险管理概述风险规划风险识别风险评估风险应对风险监控软件项目风险管理案例分析第一节 风险管理概述风险是遭受损失的一种可能性。这个定义包含两层含义:第一,风险会造成损失。如产品质量的降低,费用的增加或进度的推迟等。第二,风险的发生是一种不确定性随机现象,可用概率表示其发生的可能程度。...
2018-07-02 23:01:36
27225
1
原创 第八章 软件项目团队管理
本章内容提纲8.1 软件项目团队管理概述8.2 项目组织的规划8.3 团队人员获取8.4 团队建设和日常管理8.5 沟通管理8.6 软件专业人员的非技术素养8.1 软件项目团队管理概述什么是软件项目团队? 软件项目团队是由软件项目的不同干系人所组成的,具有共同目标、紧密协作的集体。软件项目团队包括所有项目干系人:项目发起人、资助者、项目组(开发团队)、供应商、客户等。有时,软件项目团队特指项...
2018-07-02 22:27:15
55712
1
原创 第七章 软件配置管理
本章内容提要软件配置管理的作用软件配置管理的相关概念建立软件配置管理环境版本控制系统集成分支管理变更管理配置审计和配置状态报告配置管理过程软件配置管理工具第一节 软件配置管理的作用星形网拓扑结构不同程序员对程序的更改会产生冲突软件项目中可能遇到如下的问题:找不到某个文件的历史版本;开发人员使用错误的程序版本;开发人员未经授权修改代码或文档;人员流动,交接工作不彻底;无法重新编译软件的某个历史版本...
2018-07-02 14:41:56
38313
3
原创 第六章 软件项目质量管理
本章内容提要软件质量管理的基本概念全面软件质量管理缺陷跟踪缺陷移除和预防软件质量的常用度量案例分析第一节 软件质量管理的基本概念软件质量就是软件与用户需求相一致的程度。具体地说,软件质量是软件符合明确叙述的功能和性能需求、以及所有专业开发的软件都应具有的隐含特征的程度。 用户需求是衡量软件质量的基础。除满足明确定义的需求外,还要满足隐含的需求。软件质量的重要性软件质量问题可能导致经济损失甚至灾难性...
2018-07-02 13:48:40
63281
原创 第五章 软件项目成本管理
软件项目的成本管理,就是为了确保项目在既定预算内按时、按质、经济、高效地实现项目目标所开展的一种项目管理过程。项目的成本管理包括成本估算、成本预算和成本控制。 本章内容提要5.1 软件项目成本管理概述5.2 软件规模度量5.3 成本估算5.4 成本预算5.5 成本控制5.1 软件项目成本管理概述软件项目规模一般是指所开发软件的规模大小,它的度量方法一般有两种: LOC(Lines of...
2018-07-01 22:22:13
58048
5
原创 软件测试总结
1.什么是软件测试?软件测试的意义和目的是什么? IEEE对软件测试的定义为使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验他是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 软件测试是在一个可控的环境中分析或执行程序的过程,其根本目的是尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷,提高软件的质量。2.软件测试与软件开发有何关系? 软件开发过程是软...
2018-07-01 00:32:45
25083
1
原创 程序的执行和存储访问4-高速缓存概述
存储器层次结构概述希望的理想存储器 存储器的层次结构 层次化存储器结构(Memory Hierarchy) Cache基本概述 加快访存速度措施之三:引入Cache 程序的局部性原理举例1 程序的局部性原理举例2 Cache(高速缓存)是什么样的? Cache 的操作过程 Cache(高速缓存)的实现 Cache映射方式Cache映射(Cache Mapping) The Simplest Cac...
2018-06-26 22:15:08
530
原创 第五章 端到端协议
主要讲解内容 5.1运输层协议概述5.2多路复用与多路分解5.3无连接运输协议UDP5.4面向连接的运输协议TCP5.5拥塞控制原理5.6TCP拥塞控制5.1运输层协议概述回顾较低的三层物理层:透明传输比特流。数据链路层:在两个相邻节点之间透明传输数据。网路层:完成网络中不同端系统之间(可能存在多条路径)的数据传输。网络层要解决的关键问题--路由选择运输层的功能问题: 网路层能够将源主机发送...
2018-06-21 13:59:45
3650
1
原创 程序的执行和存储访问3-磁盘存储器
磁盘存储器的结构PC中的外存储器磁盘存储器的信息存储原理磁表面信息读出过程磁盘的磁道和扇区磁盘磁道的格式磁盘驱动器以及操作过程磁盘驱动器平均存取时间磁盘响应时间计算举例磁盘存储器的组成磁盘驱动器的逻辑结构磁盘存储器的连接与操作磁盘存储器的连接读一个磁盘扇区–第一步 读一个磁盘扇区–第二步 读一个磁盘扇区–第三步固态硬盘(SSD) 闪存(Flash Memory) 固态硬盘(SSD)...
2018-06-19 20:40:37
663
原创 第四章 软件项目进度管理
本章内容提要第一节 软件项目进度管理概述l进l进度是对执行的活动和里程碑所制定的工作计划日期表。l项目进度管理也被称作项目时间管理、工期管理,是指在项目实施过程中,对各阶段的工作进展程度和项目最终完成的期限所进行的管理,是为了确保项目按期完成所需要的管理过程。l项目进度管理是保证项目如期完成及合理安排资源供应,节约工程成本的重要措施之一。度是对执行的活动和里程碑所制定的工作计划日期表。l项目进度管...
2018-06-01 17:53:31
43407
原创 第三章 软件项目范围管理
项目范围对项目的影响是决定性的,它确定了软件项目工作内容的多少。有效的范围管理可以保证项目只做必须做的事情,避免范围蔓延和做无用功,同时也避免不清晰的需求所导致的严重的系统缺陷。 本章内容提要n3.1 需求获取n3.2 范围定义n3.3 创建工作分解结构n3.4 范围确认n3.5 范围控制n3.6 案例分析3.1 需求获取n需求获取工作的任务就是收集项目干系人的需求信息,为定义项目的范围奠定基础。...
2018-06-01 17:49:48
18997
原创 第三章 JMeter体系结构
3.1 JMeter简介 JMeter是一款开源桌面应用软件,可用来模拟用户负载来完成测试工作。JMeter的功能在版本升级的过程中已经十分强大,现在多数互联网公司都在使用JMeter来完成产品或者项目的性能测试工作。因为开源所以更具扩展性,能够胜任更多的工作具有更多的可能性。可以不夸张地说,JMeter是使用率最高的性能测试工具之一,也是当前最好的最全面的性能测试工具之一,企业能够更低成本...
2018-05-25 16:14:20
980
原创 第二章 软件项目立项与规划
第一节 发现项目机会§客户的需求和问题就是选择项目的依据,是项目投资机会。§通常投资者是从以下几个方面发现项目投资机会:1.市场需求。进行市场分析,客观地分析市场现状(市场容量的大小,供求情况),预测未来市场的发展趋势(高速成长,平稳发展,还是逐渐衰退),了解主要竞争对手的产品、市场份额和发展战略。2.国家政策和产业导向。国家、行业和地方的科技发展和经济社会发展的长期规划与阶段性规划,这些规划一般...
2018-05-18 18:09:08
14806
1
原创 第一章 绪论
第一节 软件项目管理的作用和重要性 软件项目管理是以软件项目为对象的系统管理方法,它运用相关的知识、技术和工具,对软件项目周期中的各阶段工作进行计划、组织、指导和控制,以实现项目目标。软件项目管理的重要性对软件项目的成功至关重要 软件项目涉及大量的人员和活动,有进度和资金限制,并会遇到各种变化、风险和矛盾,必须有良好的管理才能成功。 大规模软件项目的例子:Windows2000有...
2018-05-18 17:05:15
2296
1
原创 第二章 性能测试初体验
性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统承受的负载情况,找出潜在的性能问题,分析并解决;找出系统性能变化趋势,为后续的扩展提供参考。测试显然不是录制脚本那么简单的事情(而且现在很多系统还无法录制脚本),本章主要阐述性能测试涉及的IT知识、角色、视角、流程及面临的挑战。2.1 性能测试的价值[案例1]2012年...
2018-05-16 16:14:41
621
原创 第四章 网络互联
4.1 网络层概述互联网络互连的动力:更大范围的资源共享网络互连:HOST-LAN,LAN-LAN/WAN互连在一起的网络要进行通信,会遇到许多问题需要解决,如:不同的寻址方案不同的最大分组长度不同的网络接入机制不同的超时控制不同的差错恢复方法不同的状态报告方法不同的路由选择技术不同的用户接入控制不同的服务(面向连接服务和无连接服务)不同的管理与控制方式异构网络在体系结构和通信协议方面具有差异的计...
2018-04-24 18:19:30
1745
原创 chapter16 性能调优与架构篇-基础理论和工具
16.1 性能调优理论16.1.1 基础概念资源(resource):物理服务器的功能组件,一些软件资源也可以被衡量,比如线程池、进程数等。系统的运行,需要各种资源,对于资源列表的确定,我们可凭借对系统的了解来确定,也可以通过绘制系统的功能块图的方式来确定要衡量的资源。常见的物理资源如下所示。CPU、CPU核数(core)、硬件线程(hardware thread)、虚拟线程(virtual th...
2018-04-18 09:45:04
722
原创 第三章 直接连接的网络
3.1 链路层概述直接连接的网络:用某种传输媒体连接所有主机涉及数据链路层技术为大型网络提供某"一跳"的底层通信支撑主机H1向H2发送数据(它们沿着端到端路径上的各单段链路进行传输)链路层的任务:将网络层交付的PDU通过单段链路从一个结点传输到相邻结点要实现通过单段链路,点到点传送上层PDU,必须有链路层协议的控制.链路层协议定义了:单段链路的两端结点之间交互的帧格式,以及这些结点在发送和接收帧时...
2018-04-11 18:03:22
3820
1
原创 第一章 概述
1.1 计算机网络定义什么是计算机网络? 计算机网络将各种计算机通过通信线路和网络设备互联起来,以方便用户共享资源和相互通信。电话网?有线电视网?---特定应用计算机网络---通用性,支持广泛的,不断出现的新型应用,能承载各种不同类型的数据。因特网术语"主机":指计算机网络中传统的和非传统的计算机。或称"端系统".计算机网络中的"计算机"是自治的。网络(network)由若干结点(node)...
2018-04-11 01:43:28
1836
原创 saltstack进阶
vim /etc/salt/master:[root@localhost pillar]# mkdir /srv/salt/base[root@localhost pillar]# mkdir /srv/salt/test[root@localhost pillar]# mkdir /srv/salt/prod[root@localhost base]# salt '*' state.sls...
2018-04-05 23:51:25
498
原创 SaltStack入门
SaltStack官方文档:https://docs.saltstack.com/en/latest/saltstack三种运行方式:Local Master/Minion Salt SSH功能:远程执行,配置管理,云管理rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch...
2018-04-05 20:19:37
333
原创 chapter16 Sentinel
Sentinel(哨岗,哨兵)是redis高可用性(high availability)解决方案:有一个或多个Sentinel实例(instance)组成的Sentinel系统(system)可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理...
2018-03-30 09:46:35
191
原创 chapter15 复制
15.1 旧版复制功能的实现Redis 的复制功能分为同步(sync)和命令传播(command propagate)两个操作:其中,同步操作用于将从服务器的数据库状态更新至主服务器当前所处的数据库状态。而命令传播操作则用于在主服务器的数据库状态被修改,导致主从服务器的数据库状态出现不一致时,让主从服务器的数据库重新回到一致状态。15.1.1 同步当客户端向从服务器发送 SLAVEOF 命令,要求...
2018-03-29 11:50:43
295
原创 chapter14 服务器
一个命令请求从发送到获得回复的过程中,客户端和服务器需要完成一系列操作。举个例子,如果我们使用客户端执行以下命令:redis> SET KEY VALUEOK那么从客户端发送 SET KEY VALUE 命令到获得回复 OK 期间,客户端和服务器共需要执行以下操作:客户端向服务器发送命令请求 SET KEY VALUE 。服务器接收并处理客户端发来的命令请求 SET KEY VALUE ,...
2018-03-28 15:11:15
269
原创 chapter13 客户端
Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复。 通过使用由I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式来处理命令请求,并与多个客户端进行网络通信。13.1 客户端属性客户端状态包含的属性可以分为两类:一类是比较通用的...
2018-03-28 10:05:49
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人