自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (10)
  • 收藏
  • 关注

转载 千万级规模高性能、高并发的网络架构经验分享

千万级规模高性能、高并发的网络架构经验分享标签(空格分隔): 高可用架构原著地址:https://www.cnblogs.com/shanyou/p/5048099.html千万级规模高性能高并发的网络架构经验分享架构以及我理解中架构的本质新浪微博整体架构是什么样的大型网站的系统架构是如何演变的微博的技术挑战和正交分解法解析架构微博多级双机房缓存架构分布式服务追踪系统总结主 题 :I

2018-02-05 16:52:18 1248

原创 MySQL高级开发 -- 表锁(MyISAM)

MySQL高级开发 – 表锁(MyISAM)标签(空格分隔): MySQLMySQL高级开发 表锁MyISAM什么是锁锁的分类及对比读锁写锁总结锁分析什么是锁锁是计算机协调多个进程或者线程并发访问某一个资源的机制。 在数据库中,除传统的计算资源(CPU,RAM,I/O等)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一

2018-02-05 11:02:20 308

原创 MySQL高级开发 -- 行锁(InnoDB)

MySQL高级开发 – 行锁(InnoDB)标签(空格分隔): MySQLMySQL高级开发 行锁InnoDB标签空格分隔 MySQL行锁使用场景和表锁对比如何分析行锁定间隙锁间隙锁的危害锁优化建议行锁使用场景偏向InnoDB存储引擎,开销大,加锁慢;会出现死锁,锁定粒度最小,发生锁冲突的概率最小,并发度最高.和表锁对比Innodb

2018-02-05 11:01:56 467

原创 MySQL高级开发 -- 全局查询日志

MySQL高级开发 – 全局查询日志标签(空格分隔): MySQLMySQL高级开发 全局查询日志什么是全局日志怎么开启注意点什么是全局日志开启全局日志之后,会记录所有执行的查询SQL语句到MYSQL库的general_log表中,可以通过select * from general_log;怎么开启set global gene

2018-02-05 10:57:33 366

原创 MySQL高级开发 -- 表锁(MyISAM)

MySQL高级开发 – 表锁(MyISAM)标签(空格分隔): MySQLMySQL高级开发 表锁MyISAM什么是锁锁的分类及对比读锁写锁总结锁分析什么是锁锁是计算机协调多个进程或者线程并发访问某一个资源的机制。 在数据库中,除传统的计算资源(CPU,RAM,I/O等)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一

2018-02-05 10:55:35 681

原创 MySQL高级开发--SQL语句中各种JOIN

MySQL高级开发–SQL语句中各种JOIN标签(空格分隔): MySQL在查询SQL中,可能碰到各种数据库连接,join。现在做一个总结。 1、SQL:SELECT * FROM A,B WHERE A.KEY = B.KEY #或者SELECT * FROM A INNER JOIN B WHERE A.KEY = B.KEY2、 SELECT

2018-02-05 10:54:11 495

原创 MySQL高级开发--查询SQL执行顺序

MySQL高级开发–查询SQL执行顺序标签(空格分隔): MySQL在对SQL语句优化执行,需要明确一个普通的SQL在数据库服务器中从解析到执行,遵循一定的规则。 一、手工写一条SQL如下SELECT DISTINCT FROM JOIN ON WHERE GROUP BY HAVING ORDER BY

2018-02-03 10:39:39 428

原创 MySQL高级开发--慢查询日志分析(二)--分析慢SQL(show profile)

MySQL高级开发–慢查询日志分析(二)–分析慢SQL(show profile)标签(空格分隔): MySQLMySQL高级开发慢查询日志分析二分析慢SQLshow profileshow profile是什么怎么使用它上文中已经通过开启慢查询日志已经将需要分析的SQL通过mysqldumper工具抓取出来了,然后我们需要根据一些分析手段分析这些SQL进行分析,

2018-02-03 10:39:16 297

原创 MySQL高级开发--慢查询日志分析(一)--获取慢日志

MySQL高级开发–慢查询日志分析(一)–获取慢日志标签(空格分隔): MySQLMySQL高级开发慢查询日志分析一获取慢日志什么是慢查询日志怎么开启慢查询日志什么样的信息才会在慢查询日志中体现怎么分析慢查询日志什么是慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过lo

2018-02-03 10:38:52 291

原创 MySQL高级开发--索引简介

MySQL高级开发–索引简介标签(空格分隔): MySQLMySQL高级开发索引简介什么是索引为什么要索引索引有哪些好处索引有哪些劣势索引结构索引分类哪些情况需要建索引哪些情况不能建索引什么是索引索引是帮助MySQL高效获取数据的一种数据结构,独立于数据本身,满足特定的查找算法,通过某种方式指向数据。为什么要索引提高查询效率、提供

2018-02-03 10:38:30 256

原创 MySQL高级开发(六)--索引优化总结(优化口诀)

MySQL高级开发(六)–索引优化总结(优化口诀)标签(空格分隔): MySQLMySQL高级开发六索引优化总结优化口诀口诀建索引注意事项索引容易失效的几个注意点在根据执行计划对SQL进行分析之后,逐步的去优化每个子查询的索引及成本使用情况,执行计划我的理解就是用来对索引进行逐步的优化的一个过程,让每个查询都尽量使用索引,在索引过程中,索引会经常性失效。

2018-02-03 10:37:57 2680

原创 MySQL高级开发(五)--查询优化(ORDER BY & GROUP BY)

MySQL高级开发(五)–查询优化(ORDER BY & GROUP BY)标签(空格分隔): MySQLMySQL高级开发五查询优化ORDER BY GROUP BYExistsIN EXISTS对比order by 优化group by 优化在之前的索引优化的总结中,已经将查询的优化进行了比较细致的说明,在查询的优化中,其实还包括其他的优化,一般在DB

2018-02-03 10:37:14 478

原创 MySQL高级开发(四)---索引优化分析(MySQL执行计划解析)

MySQL高级开发(四)—索引优化分析(MySQL执行计划解析)标签(空格分隔): MySQLMySQL高级开发四索引优化分析MySQL执行计划解析什么是优化数据库性能参数查询优化执行计划结果说明使用索引查询需要注意使用Like关键字需要注意使用联合索引的使用OR关键字的查询子查询的优化什么是优化合理的安排资源、调整MySQL系统

2018-02-03 10:36:45 449

原创 MySQL高级开发(三)--SQL性能下降原因分析

MySQL高级开发(三)–SQL性能下降原因分析标签(空格分隔): MySQL在日常的运维过程中,经常会遇到DBA将一些执行效率较低的SQL发过来找开发人员分析,当我们拿到这个SQL语句之后,在对这些SQL进行分析之前,需要明确可能导致SQL执行性能下降的原因进行分析,执行性能下降可以体现在以下两个方面: 1、等待时间长 锁表导致查询一直处于等待状态,后续我们从MySQL锁的

2018-02-03 10:36:06 527

原创 MySQL高级开发(二)--物理结构介绍

MySQL高级开发(二)–物理结构介绍标签(空格分隔): MySQLMySQL高级开发二物理结构介绍结构总览data目录数据库存储目录系统数据库用户数据库ibdata共享表空间基于ib_logfileN的重做日志logs目录基于mysql-binn的二进制日志undo表空间errorlogslowlog结构总览本文,我通过W

2018-02-03 10:35:25 379

原创 MySQL高级开发(一)--逻辑架构

MySQL高级开发(一)–逻辑架构标签(空格分隔): MySQLMySQL的逻辑结构图将整个MySQL分成四层,图如下: 1.连接层 最上层是一些客户端和连接服务,包含本地scoket同学和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信,主要完成一些类似连接处理,授权认证,及相关的安全方案,在该层引入线程池的概念,为通过认证安全接入的客户端提供线程,同样在该层

2018-02-03 10:34:01 453

转载 单点登录原理与简单实现

单点登录原理与简单实现标签(空格分隔): zheng单点登录原理与简单实现一单系统登录机制1http无状态协议2会话机制3登录状态二多系统的复杂性三单点登录1登录2注销四部署图五实现sso-client拦截未登录请求2sso-server拦截未登录请求3sso-server验证用户登录信息4sso-server创建授权令牌5sso-client取得令牌并校验6sso-

2017-12-26 12:30:33 300

原创 SpringMVC学习(六)--RESTful支持

SpringMVC学习(六)–RESTful支持标签(空格分隔): SpringMVC什么是RESTful RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用 RESTful(即Representational State Transfer的缩写)其实是一个开发理念,是对http的很好的诠释主要内容: 1、对

2017-12-25 23:30:14 162

原创 SpringMVC学习(五)--异常处理

SpringMVC学习(五)–异常处理标签(空格分隔): SpringMVC springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑异常处理的思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。 系统的d

2017-12-25 23:29:51 217

原创 SpringMVC学习(四)--前端验证Validation

SpringMVC学习(四)–前端验证Validation标签(空格分隔): SpringMVC 在b/s模式中,经常会对前端的输入进行合法性验证,在用户体验的基础上,经常会将这些验证放在前端中实现,但是为了安全性,也会在后端添加对应的规则验证。SpringMVC默认支持Hibernate Validator的实现。具体实现如下 1、加入jar包 *hibernate-validator

2017-12-25 23:29:38 559

原创 SpringMVC学习(三)--注解开发

SpringMVC学习(三)–注解开发标签(空格分隔): SpringMVC与Struct2的不同1、SpringMVC的入口是一个Servlet,而Struct2是一个Filter 2、SpringMVC是基于方法开发(一个url对应一个处理方法),请求参数通过形参映射。可以是单例也可以是多例。 struts2是基于类开发,传递参数是通过类的属性,只能是多例 3、struts采用值栈存储请求

2017-12-25 23:29:16 194

原创 Spring实现读写分离(二)--应用层实现

Spring实现读写分离(二)–应用层实现标签(空格分隔): 淘淘商城上文的MySQL配置中已经将数据库配置层主从数据同步,应用层对数据库的修改能够在从库中进行同步。但是我们是单向同步,也就是说主库数据的变化会在从库中反应出来(会有一定的延时)。从库的变化是不会在主库中体现的。那我们就应该在应用层中进行读写分离,将读的操作在从库中操作,写操作在主库中操作,这样有效的减轻主库的压力。背景在实际的场景中

2017-12-25 15:52:59 213

原创 Spring实现读写分离(一)--MySQL实现主从复制

Spring实现读写分离(一)–MySQL实现主从复制标签(空格分隔): 淘淘商城原理mysql主(master)从(slave)复制原理 1、master将数据改变记录到二进制日志(binary log)中,也即是配置文件文件log-bin指定的文件(二进制日志时间 binary log events) 2、slave将master的binary log events 拷贝到它的中继日志(re

2017-12-25 15:52:23 400

原创 SpringMVC学习(二)--SpringMVC的开发过程

SpringMVC学习(二)–SpringMVC的开发过程标签(空格分隔): SpringMVC1、环境搭建配置web开发环境,导入对应的SpringMVC依赖的jar包或者在pom中添加Spring MVC的依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artif

2017-12-24 23:25:02 231

原创 SpringMVC学习(一)--SpringMVC原理

SpringMVC学习(一)–SpringMVC原理标签(空格分隔): SpringMVC传统B/S的MVC模式在MVC的设计模式中,一般用户的请求路径过程是: 请求过程: 用户发起http request请求 –> 控制层(Controller)接收请求 –> 控制层请求校验 –> 转发到模型层 —> 模型层(Model)处理请求响应过程: 模型层(Model)处理完请求返回模型数据

2017-12-24 23:24:36 259

原创 MyBatis学习(六)---高级应用(延迟加载、缓存)

MyBatis学习(六)—高级应用(延迟加载、缓存)标签(空格分隔): MyBatis学习延迟加载 需要查询关联信息时,使用mybatis延迟加载特性可有效的减少数据库压力,首次查询只查询主要信息,关联信息等用户获取时再加载.开启延迟加载 在mybatis的全局配置文件中,需要开启延迟加载功能<settings> <setting name="lazyLoadingEnabl

2017-12-18 23:38:22 238

原创 MyBatis学习(五)--关联查询

MyBatis学习(五)–关联查询标签(空格分隔): MyBatis学习一对一映射一对一映射在实际的应用中比较常见,MyBatis有两种方式实现。方法一:resultType 在po对象中将所有查询的sql输出映射字段列出来,然后将该po对象作为resultType输出方法二:resultMap在mapper.xml中新建一个一一映射的resultMap。代码示例:<!-- 订单信息resul

2017-12-18 23:37:47 235

原创 RabbitMQ与Spring的整合

RabbitMQ与Spring的整合标签(空格分隔): RabbitMQSpring已经对AMQP做了支持,目前只实现了对RabbitMQ的支持。1、导入依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <ver

2017-12-18 10:07:49 202

原创 RabbitMQ五种消息队列学习(六)--通配符模式(路由类型:Topic)

RabbitMQ五种消息队列学习(六)–通配符模式(路由类型:Topic)标签(空格分隔): RabbitMQ正如上一篇文章中所描述的一种模式的升级,如果需要监听某个交换机的所有消息的话,可以通过消息队列的形式进行绑定。队列结构图 通过字符串通配符的模式匹配需要分发的消息队列 消息路径: 实现: 1、生产者 private final static String EXCHANGE_NAME

2017-12-18 09:55:40 4209

原创 RabbitMQ五种消息队列学习(五)--路由模式

RabbitMQ五种消息队列学习(五)–路由模式标签(空格分隔): RabbitMQ发布订阅模式只是利用路由这个功能,将消息全部分发给所有与路由绑定的队列中,不能对不同的消息进行选择性的分发。模型结构路由根据Routing Key进行动态的绑定分发 消息路径如下: 实现1、生产者 发送一个key:channel.basicPublish(EXCHANGE_NAME, “delete”, nu

2017-12-18 09:50:52 1216

原创 MyBatis学习(四)--配置说明

MyBatis学习(四)–配置说明标签(空格分隔): MyBatis学习上文的讲解中,已经对MyBatis的编码方式结合JDBC的编码方式进行了对比。总结MyBatis能够为持久层解决的问题。现对MyBatis的几个主要的配置文件进行说明(一) SqlMapConfig.xml该文件为MyBatis的全局配置文件,主要配置MyBatis的运行环境信息、数据库连接信息、别名、导入Mapper.xml映

2017-12-17 23:18:53 165

原创 MyBatis学习(三)--Mybatis编写方式

MyBatis学习(三)–Mybatis编写方式标签(空格分隔): MyBatis学习MyBatis有两种编写模式,分别是传统的DAO模式和Mapper模式。在介绍这两者编写方式之前,先简单介绍下两个比较关键的对象,分别是:SqlSessionFactory和SqlSessionSqlSessionFactorySqlSessionFactory是一个接口,接口中定义了不同的openSession方

2017-12-16 23:32:59 315

原创 MyBatis学习(二)-- 简述MyBatis的原理

MyBatis学习(二)– 简述MyBatis的原理标签(空格分隔): MyBatis学习鉴于上文对JDBC的开发问题总结,JDBC的开发模式在开发过程中存在过多的硬编码的情况,在互联网模式下,需求变化较多,所以底层对数据库的访问变化也较大,所以引入MyBatis来解决这些硬编码的问题。 MyBatis是一个优秀的持久层框架,对jdbc的数据库执行过程,使开发者只需要关注SQL本身,不需要花费精

2017-12-16 23:32:39 2880

原创 RabbitMQ五种消息队列学习(四)--发布订阅模式

RabbitMQ五种消息队列学习(四)–发布订阅模式标签(空格分隔): RabbitMQ由于生产者和消费者之间用相同的队列,形成了应用直接的耦合关系,那怎么解耦呢。使用发布订阅模式队列模型 1、1个生产者,多个消费者 2、每一个消费者都有自己的一个队列 3、生产者没有将消息直接发送到队列,而是发送到了交换机 4、每个队列都要绑定到交换机 5、生产者发送的消息,经过交换机,

2017-12-15 17:00:09 402

原创 RabbitMQ五种消息队列学习(三)--Work模式

RabbitMQ五种消息队列学习(三)–Work模式标签(空格分隔): RabbitMQ由于在实际应用中,简单队列模型无法解决很多实际问题,而且生产者和消费者是一对一的关系。模型较为单一。故引入Work模式。结构图 一个生产者、多个消费者。 一个消息只能被一个消费者获取。测试实现: 1、生产者 private final static String QUEUE_NAME = "test

2017-12-15 16:59:22 459

原创 Rabbit五种消息队列学习(二) -- 简单队列

Rabbit五种消息队列学习(二) – 简单队列标签(空格分隔): RabbitMQ队列结构图 P:消息的生产者 C:消息的消费者 红色:队列生产者将消息发送到队列,消费者从队列中获取消息。测试1、连接MQ public static Connection getConnection() throws Exception { //定义连接工厂 Con

2017-12-15 16:58:53 604

原创 Rabbit五种消息队列学习(一) -- 总述

Rabbit五种消息队列学习(一) – 总述标签(空格分隔): RabbitMQRabbitMQ支持五种消息传递类型,分别如下图所示: 上图中显示6中消息队列分别为: 1、简单队列 一个生产者将消息放到队列中,一个消费者监听队列2、工作队列(Work queues) 一个生产者生产的消息放到队列中,多个消费者监听队列3、发布订阅模式(Publish/Subscribe) 生产者将

2017-12-15 16:58:01 465

原创 Centos6.5 安装 RabbitMQ3.6.1

Centos6.5 安装 RabbitMQ3.6.1标签(空格分隔): RabbitMQ安装Erlang1\、创建目标安装目录cd /usr/local/src/mkdir rabbitmqcd rabbitmq2、添加yum支持 在线安装:wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

2017-12-15 16:57:16 600

原创 如何搭建高可用架构(五)--LVS+Nginx配置实现

如何搭建高可用架构(五)–LVS+Nginx配置实现标签(空格分隔): 高可用架构上文中已经提到LVS在高可用架构中的作用,架构图如下: 本文将实现怎么配置LVS+Nginx的架构图:LVS安装1、检测Luinx内核中是否已经存在LVS Centos6.5的内核已经支持了lvs,所有只需要安装lvs的管理工具ipvsadm即可; 1.1 检查linux内核是否集成lvs模块[reman@

2017-12-15 13:06:57 788

原创 如何搭建高可用架构(四)--负载均衡(LVS实现)

如何搭建高可用架构(四)–负载均衡(LVS实现)标签(空格分隔): 高可用架构问题在之前的博文中,我们提到一个问题,就是在Nginx集群中,如果Nginx访问出现瓶颈是该如何处理?也就是Nginx都发生宕机怎么办? 方案:在集群中添加服务器。这个方案最直接,但是这个方案仅仅只能有效的解决局部问题。那如何解决问题的本质呢? 分析下目前Nginx的主要功能: 1、请求转发:将请求转发的指定的

2017-12-15 13:06:14 296

HTML速成教材,html初学者教程

HTML速成教材,初学者教程,初学者教程。HTML速成教材,初学者教程,初学者教程

2009-04-15

java GUI代码例子

java GUI 代码例子 测试,很不错,建议初学者可以下载用于做测试,学习用

2009-04-10

JAVA100例.rar

JAVA100例 J2se源码测试 java例子程序

2009-04-10

javascript资料(源码,教材,ppt)

javascript资料(源码,教材,ppt)

2009-04-10

数据通信与计算机网络习题解答与实验指南

数据通信与计算机网络习题解答与实验指南!答案

2008-12-21

jsp从入门到精通经典课程

讲述一些级jsp入门的东西,很经典的课程,可以下载作为参考,盗版的,哈哈

2008-12-04

Office技巧1000例.chm

帮助初学者们更容易学习Office,例子很具体,很容易帮助初学者懂得学会使用Office

2008-11-28

J2EE 1.3.1 API.chm

java api帮助文档,全英文版,可以帮助初学者更容易查阅,脱离CS模式

2008-11-28

空空如也

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

TA关注的人

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