自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mojolang

专注mojolang

  • 博客(73)
  • 资源 (26)
  • 收藏
  • 关注

转载 Sentinel-Redis高可用方案(一):主从复制

引言大概是因为Redis是个人开发的产品,所以Redis的高可用方案是被分成了几块来实现:主从复制、主从切换以及虚拟IP或客户端方案。从Redis 2.8开始加入对Sentinel机制从而实现了服务器端的主从切换,但目前尚未发现实现虚拟IP或客户端切换方案。主从复制研究wget http://download.redis.io/releases/redis-2.8.

2017-02-28 15:23:43 375

转载 mysql集群之MYSQL CLUSTER

1. 参考文档http://xuwensong.elastos.org/2014/01/13/ubuntu-%E4%B8%8Bmysql-cluster%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE/2. 简介MySQL-Cluster是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的簇。通过无共享体系结构,系统能够使用

2017-02-28 14:44:23 771

转载 mysql高可用之LVS + KEEPALIVE + MYSQL

1.架构图  注意(一)   Mysql需要把bind-address的配置去掉,否则无法实现虚拟ip访问(二)   关闭所有linux防火墙:/sbin/iptables –F(可能没用)(三)   重启networking:sudo /etc/init.d/networking restart(可能没用)  2. 架构

2017-02-28 14:37:50 839

转载 lvs(+keepalived)、haproxy(+heartbeat)、nginx 负载均衡的比较分析

目前使用比较多的就是标题中提到的这两者,其实lvs和haproxy都是实现的负载均衡的作用,keepalived和heartbeat都是提高高可用性的,避免单点故障。那么他们为什么这么搭配,而又有什么区别呢?经过一番google,大体明白了两者的区别:lvs的是通过vrrp协议进行数据包转发的,提供的是4层的负载均衡。特点是效率高,只要你机器网卡抗的住就不是问题。haproxy

2017-02-28 14:11:05 707

转载 19个心得 明明白白说Linux下的负载均衡

一、目前网站架构一般分成负载均衡层、web层和数据库层,我其实一般还会多加一层,即文件服务器层,因为现在随着网站的PV越来越多,文件服务器的压力也越来越大;不过随着moosefs、DRDB+Heartbeat的日趋成熟,这问题也不大了.网站最前端的负载均衡层称之为Director,它起的是分摊请求的作用,最常见的就是轮询。  二、F5是通过硬件的方式来实现负载均衡,它较多应用于CDN系统,

2017-02-28 14:03:10 327

转载 Centos LVS DR模式详细搭建过程

目录前言... 11 , LVS 环境组网... 22 , ipvsadm 安装前准备... 23 , httpd 与 ipvsadm 下载... 34 , LVS 负载均衡配置... 45 ,真实 WEB 服务器配置及 arp 抑制... 56 , LVS 负载均衡测试... 67 ,附: arp 抑制参数... 7

2017-02-28 13:52:07 717

转载 Redis 该选择哪种持久化配置

这个标题或许会让你想起《黑客帝国》里经典的台词,你要选择蓝色药丸,还是红色药丸?Redis 是我们重度使用的一个开源软件,对它的持久化配置做一番相对深入的总结,是值得的。目前它有两种主流的持久化存储方式 SnapShot 以及 AOF 。什么是 Snapshot什么是 AOF 选择哪种药丸什么是 SnapshotSnapshot 将内存中数据以结

2017-02-28 02:37:35 961

转载 Spring面试,IoC和AOP的理解

spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 

2017-02-27 15:31:40 738

转载 Nginx 负载均衡模块 ngx_http_upstream_module 详述

译序:截至发稿时止,官方最新 ngx_http_upstream_module 指令详述。官方随时在更新,请及时关注官网最新公布。以下是官方原文。ngx_http_upstream_module 模块用于定义可以被 proxy_pass、fastcgi_pass 以及memcached_pass 等指令引用的服务器群。配置示例upstream backend { server

2017-02-27 13:09:42 1061 1

转载 Nginx upstream原理分析【1】给后端FastCGI发送数据

ngx_http_upstream_send_request调用输出的过滤器,发送数据到后端,前面已经介绍过,ngx_http_proxy_create_request函数会将客户端发送过来的HEADER,以及body部分的数据组成一块块的FCGI协议的buffer,放到u->request_bufs成员上面,因此在发送数据的时候,就需要吧这块数据发送给后端的PHP或者其他模块。send_requ

2017-02-27 13:06:15 1304

转载 Nginx upstream原理分析【1】upstream和FastCGI前篇

在前一篇文章“Nginx upstream原理分析【1】新连接的处理过程”中我们介绍了一个连接从accept到ngx_http_core_run_phases过程处理所发生的事情,后面剩下的就是FCGI的相关处理了,留在这里进行介绍。0、写在前面的话ngx_http_core_run_phases函数会不断调用cmcf->phase_engine.handlers上面的checker,从而调

2017-02-27 11:32:28 1859

转载 HAProxy 研究笔记 -- TCP 连接处理流程

本文基于 HAProxy 1.5-dev7 版本。目录1. 关键数据结构 session2. 相关初始化2.1. 初始化处理 TCP 连接的方法2.2. 初始化 listener2.3. 绑定所有已注册协议上的 listeners2.4. 启用所有已注册协议上的 listeners3. TCP 连接的处理流程3.1. 接受新建连接3.2. TCP 连接上的接收事件3.3. T

2017-02-27 11:14:05 1364

转载 Nginx的优化

nginx指令中的优化(配置文件) worker_processes 8; nginx进程数,建议按照cpu数目来指定,一般为它的倍数。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进nginx指令中的优化(配置文件)worker_

2017-02-27 11:12:12 269

转载 haproxy代理流程的数据进行抓包分析

haproxy代理流程的数据进行抓包分析 各模块名称以及作用 haproxy.cfg文件配置如下 global maxconn 20480 log 127.0.0.1 local3 chroot /var/haproxy uid 99 gid 99 daemon nbproc 1 pidfile /var/run/haproxy.pid ulimit-n 65535haproxy代理流程的

2017-02-27 11:07:40 1316

转载 keepalived + haproxy 实现web 双主模型的高可用负载均衡--转

1、本文的架构图:阐述各服务器用途:   1、haproxy在本构架中实现的是:负载均衡   2、keepalived实现对haproxy的高可用   3、apache static 实现静态页面的访问   4、aoache dynamic实现动态页面的访问,图中有两个是实现负载均衡的

2017-02-27 02:01:54 607

转载 Mysql的Haproxy反向代理和负载均衡

HaProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。应用到Haproxy主要是因为他免费,并且基于TCP和HTTP的应用代理。  先介绍一下Haproxy的应用场景,一个是TCP代理,这边也是我项目中应用的,另一个是HTTP代理,我就简单介绍一下。基于Tcp协议的Haproxy代理应用场景:在VPC网络环境下,虚机A的

2017-02-27 01:55:08 631

转载 Spring事务管理(详解+实例)

写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步

2017-02-27 01:38:17 454

转载 MINA、Netty、Twisted一起学(十):线程模型

要想开发一个高性能的TCP服务器,熟悉所使用框架的线程模型非常重要。MINA、Netty、Twisted本身都是高性能的网络框架,如果再搭配上高效率的代码,才能实现一个高大上的服务器。但是如果不了解它们的线程模型,就很难写出高性能的代码。框架本身效率再高,程序写的太差,那么服务器整体的性能也不会太高。就像一个电脑,CPU再好,内存小硬盘慢散热差,整体的性能也不会太高。玩过Android开发的同学

2017-02-26 01:19:18 370

转载 MINA、Netty、Twisted一起学(九):异步IO和回调函数

用过JavaScript或者jQuery的同学都知道,JavaScript特别是jQuery中存在大量的回调函数,例如Ajax、jQuery的动画等。$.get(url, function() { doSomething1(); // (3)}); // (1)doSomething2(); // (2)上面的代码是jQuery的Ajax,由于Ajax是异步的,所以在请求URL的过程

2017-02-26 01:17:24 285

转载 MINA、Netty、Twisted一起学(八):HTTP服务器

HTTP协议应该是目前使用最多的应用层协议了,用浏览器打开一个网站就是使用HTTP协议进行数据传输。HTTP协议也是基于TCP协议,所以也有服务器和客户端。HTTP客户端一般是浏览器,当然还有可能是其他东西。HTTP服务器,也就是Web服务器,目前已经有很多成熟的产品,例如Apache HTTP Server、Tomcat、Nginx、IIS等。本文的内容不是讲解如何使用以上的HTTP服务器,

2017-02-26 01:15:48 414

转载 MINA、Netty、Twisted一起学(七):发布/订阅(Publish/Subscribe)

消息传递有很多种方式,请求/响应(Request/Reply)是最常用的。在前面的博文的例子中,很多都是采用请求/响应的方式,当服务器接收到消息后,会立即write回写一条消息到客户端。HTTP协议也是基于请求/响应的方式。但是请求/响应并不能满足所有的消息传递的需求,有些需求可能需要服务端主动推送消息到客户端,而不是被动的等待请求后再给出响应。发布/订阅(Publish/Subscribe)

2017-02-26 01:13:27 417

转载 MINA、Netty、Twisted一起学(六):session

开发过Web应用的同学应该都会使用session。由于HTTP协议本身是无状态的,所以一个客户端多次访问这个web应用的多个页面,服务器无法判断多次访问的客户端是否是同一个客户端。有了session就可以设置一些和客户端相关的属性,用于保持这种连接状态。例如用户登录系统后,设置session标记这个客户端已登录,那么访问别的页面时就不用再次登录了。不过本文的内容不是Web应用的session,而

2017-02-26 01:10:34 381

转载 MINA、Netty、Twisted一起学(五):整合protobuf

protobuf是谷歌的Protocol Buffers的简称,用于结构化数据和字节码之间互相转换(序列化、反序列化),一般应用于网络传输,可支持多种编程语言。protobuf如何使用这里不再介绍,本文主要介绍在MINA、Netty、Twisted中如何使用protobuf,不了解protobuf的同学可以去参考我的另一篇博文。在前一篇博文中,有介绍到一种用一个固定为4字节的前缀Header来

2017-02-26 01:08:08 507

转载 MINA、Netty、Twisted一起学(四):定制自己的协议

在前面的博文中,介绍一些消息分割的方案,以及MINA、Netty、Twisted针对这些方案提供的相关API。例如MINA的TextLineCodecFactory、PrefixedStringCodecFactory,Netty的LineBasedFrameDecoder、LengthFieldBasedFrameDecoder,Twisted的LineOnlyReceiver、Int32Str

2017-02-26 01:05:03 417

转载 MINA、Netty、Twisted一起学(三):TCP消息固定大小的前缀(Header)

在上一篇博文中,有介绍到用换行符分割消息的方法。但是这种方法有个小问题,如果消息中本身就包含换行符,那将会将这条消息分割成两条,结果就不对了。本文介绍另外一种消息分割方式,即上一篇博文中讲的第2条:use a fixed length header that indicates the length of the body,用一个固定字节数的Header前缀来指定Body的字节数,以此来分割消

2017-02-26 00:57:47 559

转载 MINA、Netty、Twisted一起学(二):TCP消息边界问题及按行分割消息

在TCP连接开始到结束连接,之间可能会多次传输数据,也就是服务器和客户端之间可能会在连接过程中互相传输多条消息。理想状况是一方每发送一条消息,另一方就立即接收到一条,也就是一次write对应一次read。但是,现实不总是按照剧本来走。MINA官方文档节选:TCP guarantess delivery of all packets in the correct order. But there

2017-02-26 00:55:26 586

转载 MINA、Netty、Twisted一起学(一):实现简单的TCP服务器

MINA、Netty、Twisted为什么放在一起学习?首先,不妨先分别看一下它们官方网站对其的介绍:MINA:Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It

2017-02-26 00:53:02 616

转载 使用HAProxy、PHP、Redis和MySQL支撑10亿请求每周架构细节

着眼创业公司,应用程序架构主要考虑因素不只是技术,成本效益同样必不可少。因此,对于优秀的架构师,基于遗留系统、已有开发团队,以最小成本构造出可持续应用才是王道。【编者按】在公司的发展中,保证服务器的可扩展性对于扩大企业的市场需要具有重要作用,因此,这对架构师提出了一定的要求。Octivi联合创始人兼软件架构师Antoni Orfin将向你介绍一个非常简单的架构,使用HAProxy、PH

2017-02-25 14:12:20 557

转载 Spring 3整合Quartz 2实现定时任务二:动态添加任务

前面,我们已经对spring 3和Quartz 2用配置文件的方式进行了整合,如果需求比较简单的话应该已经可以满足了。但是很多时候,我们常常会遇到需要动态的添加或修改任务,而spring中所提供的定时任务组件却只能够通过修改xml中trigger的配置才能控制定时任务的时间以及任务的启用或停止,这在带给我们方便的同时也失去了动态配置任务的灵活性。我搜索了一些网上的解决方法,都没有很好的解决这个问题

2017-02-25 11:22:06 390

转载 Spring 4整合Quartz 2实现定时任务一:常规整合

最近工作中需要用到定时任务的功能,虽然Spring3也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大。在考虑之后,决定整合更为专业的Quartz来实现定时任务功能。首先,当然是添加依赖的jar文件,我的项目是maven管理的,以下的我项目的依赖:[html] view plain copy 在CODE上查看代码片派生到我的代码片 org.sp

2017-02-25 11:18:00 681

转载 Quartz的任务的临时启动和暂停和恢复

在项目中需要手动启停某些服务,那么需要有一个控制这些任务的类。由于任务是有Quartz控制的,我们只需要通过Quartz的相关的API实现相关的功能即可。 Java代码 收藏代码package com.easyway.app.quartz.mgr; import java.util.Date; import java.util.List; import java

2017-02-25 11:13:59 1283

转载 Quartz使用示例总结

任务调度在目前的Java应用程序中运用的十分普遍,故掌握QUARTZ是必备的技能闲话少说,上官网:http://www.quartz-scheduler.org/ 下载最新1.80资源包commons-logging log4j sff4j 等jar包要添加进去,quartz的jar包则肯定必须 首先写一个类实现Job接口Java代码  pu

2017-02-25 11:08:45 414

转载 Quartz中时间表达式的设置-----corn表达式

Quartz中时间表达式的设置-----corn表达式(注:这是让我看比较明白的一个博文,但是抱歉,没有找到原作者,如有侵犯,请告知) 时间格式: ,   分别对应: 秒>分>小时>日>月>周>年, 举例:1.每天什么时候执行:       0 59 23 * * ?: 如下为每天23:59:00开始执行      0 1,2,3 11,12

2017-02-25 11:03:28 413

转载 Quartz深入浅出(一)

什么是QuartzQuartz是一个开源的作业调度框架,由java编写,在.NET平台为Quartz.Net,通过Quart可以快速完成任务调度的工作.Quartz能干什么/应用场景如网页游戏中挂机自动修炼如8个小时,人物相关数值进行成长,当使用某道具后,时间减少到4个小时,人物对应获得成长值.这其中就涉及到了Scheduler的操作,定时对人物进行更新属性操作,更改定时任务执

2017-02-25 11:01:39 304

转载 magent + memcached 集群测试

1、编译安装libevent:wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gztar zxvf libevent-1.4.9-stable.tar.gzcd libevent-1.4.9-stable/./configure --prefix=/usrmake && make installcd ..

2017-02-24 15:50:27 397

转载 redis cluster管理工具redis-trib.rb详解

redis-trib.rb是redis的官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单,便捷,实用的操作工具.redis-trib.rb是redis作者用ruby完成的。为了看懂redis-trib.rb,我特意花了一个星期学习了ruby,也被ruby的简洁,明了所吸引.ruby是门非常灵活的语言,redis-trib.rb只用本文

2017-02-24 15:10:27 4572 1

转载 Linux查看CPU和内存使用情况

在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。top命令是Linux下常用的性能

2017-02-24 11:19:48 222

转载 SpringMVC的几种返回方式(get请求)

package com.boventech.learning.controller;    import java.util.HashMap;  import java.util.Map;    import org.springframework.stereotype.Controller;  import org.springframework.ui.Model;  

2017-02-14 22:27:12 4045

转载 SpringMVC对日期类型的转换

在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置。  1、如果查询类使我们自己写,那么在属性前面加上@DateTimeFormat(pattern = "yyyy-MM-dd")  ,即可将String转换为Date类型,如下@DateTimeFormat(pattern = "yyyy-M

2017-02-14 22:08:23 436

转载 springMVC注解@initbinder日期类型的属性自动转换

在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。一、控制器中代码比较简单的可以直接应用springMVC的注解@initbinder和spring自带的WebDataBinder类和操作,controller中配置了initBinder

2017-02-14 21:57:57 2935

《深入理解Kafka:核心设计与实践原理》_朱忠华.txt

深入理解Kafka:核心设计与实践原理,高清完整带目录版。

2019-06-10

golang秒杀系统和web后台开发视频

go秒杀系统和web后台系统开发视频,值得学习,值得学习,go很好的视频。

2019-04-21

tcpip应用第四版 完整版

tcpip应用第四版 完整版tcpip应用第四版 完整版tcpip应用第四版 完整版tcpip应用第四版 完整版

2017-11-28

Ceph 整合OpenStack

Ceph 整合OpenStack过程,Ceph 整合OpenStack 遇到问题解决

2017-11-19

Linux数据库宝典(中文版)绝版

Linux数据库宝典(中文版)绝版

2017-01-09

Twisted网络编程必备

Twisted网络编程必备,高清完整版,值得收藏

2017-01-09

深入理解Java虚拟机:JVM高级特性与最佳实践].周志明.高清扫描版.pdf

深入理解Java虚拟机:JVM高级特性与最佳实践].周志明.高清扫描版.pdf,完整高清版,值得珍藏

2017-01-09

Outh2.0 Demo,可以运行,优质资源

基于OAuth2.0协议,spring security oauth2.0

2014-11-06

高性能的socket通讯服务器(完成端口模型--IOCP)

很多人费尽心思,都没有找到一个完美的 I/O CP 例程,甚至跟人于误解,先将本人编写的例程公布出来,希望对那些苦苦寻觅的人带来收获。本例程可以作为初学者的学习之用,亦可以作为大型服务程序的通讯模块。其处理速度可以说,优化到了极点。如果理解了本例程的精髓,加上一个高效的通讯协议,你完全可以用它来构建一个高性能的通讯服务器。

2014-06-02

python入账管理系统源码

很好的源码,python的,使用到了python的界面技术,数据库技术以及统计技术,很好很强大!

2014-05-31

Python的入门代码(银行管理系统)

里面有一个简单的银行管理系统和一些其他方面的练习代码

2014-05-31

C++项目源代码

一个非常好的C++ 开源项目代码,Snort最重要的用途还是作为网络入侵检测系统(NIDS),想学习C++的同学可以看看这个开源项目代码!

2014-05-27

FreeBSD CCPP开发环境

linux FreeBSD环境下C++开发环境的搭建,讲解的非常详细。

2014-05-27

高级TCPIP编程

纯粹的C、C++技术讲解,和开发工具无关,跨平台。

2014-05-15

电信计费系统(C++)

这个系统程序基于C++来学,程序已经测试,运行完全正确.有注释,很容易看懂,希望好大家分享一下成果,linux下 可以直接编译调试。

2014-05-15

著名的PetShop源码,可运行

著名的PetShop源码,可运行,很好的层次架构,值的学习一下。

2014-04-17

Node.js开发指南中文正版

Node.js开发指南_中文正版,很详细很清楚。

2014-04-12

Linux Socket 源码

Linux下的飞鸽传书源码,一定要看看,提高Socket开发技能。

2014-04-12

C++游戏编程 服务器端

用C++开发高并发服务器端程序,主要勇于游戏编程方面的书籍。

2014-04-07

C游戏编程从入门到精通

用C语言开发游戏编程,从入门到精通,很详细,很透。

2014-04-07

Vmware +linux + C开发环境搭建手册

Vmware +linux + C++开发环境的详细安装过程

2014-04-05

安卓高仿手机QQ客服端

安卓高仿手机QQ客服端,源码直接可以运行。

2013-03-13

qq界面源码(android)

qq界面android源码,很值得学习研究,下载科直接运行

2013-03-12

qq微博android

qq微博android源码,很值得学习研究,很详细的资料

2013-03-12

红孩子电子商城(传智播客)

红孩子电子商城(传智播客),很详细源码,值得研究学习

2013-03-12

空空如也

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

TA关注的人

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