自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

任何技能都是从模仿开始,逐步升华。

好的架构是进化而来的,好的产品是推广而来的。

  • 博客(35)
  • 资源 (68)
  • 问答 (3)
  • 收藏
  • 关注

原创 Spring启动常用的几个接口

Spring启动常用的几个接口:ApplicationContextAware、BeanNameAware、InitializingBean、BeanPostProcessor。

2015-01-31 22:43:26 2773 1

转载 对javascript面向对象的理解

面向对象按照特征来说就是:抽象、封装、继承、多态。至少在我知道的java、c#、c++中都是比较准确的,他们也是按照这些特征去设计的。但是javascript却是一种既函数又对象的语言,所以他的面向对象特征也比较特别。我对js面向对象的认为是:抽象、封装、继承(包含多态)。然后就按着几个特征来思考一下。抽象。这个比较简单,无非就是专注问题的本质,只专注于要实现的功能,而不去考虑内部的细节是

2015-01-29 19:01:05 767

原创 自定义协议消息推送开源项目-CIM

这套IM系统为个人自主开发,使用了 apache mina(也支持netty版本,和mina版本结构和功能完全一致) ,主要功能为 服务端和客户端,客户端 到客户端的即时通信,可以支持包括文字 图片,语音等任何消息形式 服务端使用的 struts2+spring3和 apache mina android端 也使用的apache mina。这套IM系统结构还是非常清晰合理的,非常容易扩展和改造,下面是android版本 的 demo的目的是只是一个演示 ,可以参照它的代码,使用这套系统开发自己的东西,核心价

2015-01-29 17:28:08 3065

原创 Javad的Validator框架使用

结合hibernate-validator(除此之外Spring Framework自带的validation,struts validation等),说明Validator框架使用。

2015-01-29 16:01:41 1555

转载 Javad的Validator框架概述

Java EE 6 提出了 Bean Validation 规范,使用注解的方式对 Java Bean 进行约束验证,不局限于某一层次或者某一编程模型,灵活易用。下边将向您系统的介绍该规范的各种特性。概述 Bean Validation 规范Bean 是 Java Bean 的缩写,在 Java 分层架构的实际应用中,从表示层到持久化层,每一层都需要对 Java Bean 进行业务

2015-01-29 15:48:18 9026

原创 基于java反射对泛型的理解

Java 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

2015-01-29 14:35:47 1022

原创 Java反射(java.lang.reflect)

学习一下java.lang.reflect包下有关反射的相关内容,提供类和接口,以获得关于类和对象的反射信息。在安全限制内,反射允许编程访问关于加载类的字段、方法和构造方法的信息,并允许使用反射字段、方法和构造方法对其底层对等项进行操作。

2015-01-29 12:18:45 5459

原创 Java嵌入式数据库:MapDB

MapDB是一个快速、易用的嵌入式Java数据库引擎,它提供了基于磁盘或者堆外(off-heap允许Java直接操作内存空间, 类似于C的malloc和free)存储的并发的Maps、Sets、Queues。MapDB的前身是JDBM,已经有10多年的历史。MapDB支持ACID事务、MVCC隔离,它的jar包只有200KB,且无其它依赖,非常轻量。MapDB 提供了并发的 TreeMap 和 HashMap ,使用基于磁盘的存储。快速、可伸缩性以及易用。

2015-01-25 17:50:33 6374

原创 MQTT协议之Apache Apollo 安装使用

Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。

2015-01-25 13:35:57 39104 8

原创 MQTT协议之moquette 安装使用

在MQTT 官网 (http://mqtt.org/software)中有众多MQTT的实现方式。具体参看官网,Moquette是基于netty(老版本使用的是mina) 的模型的一个Java MQTT broker,支持SSL。

2015-01-25 13:11:05 23228 5

原创 MQTT协议之HTTP方式发布接收消息

MQTT协议之HTTP方式发布接收消息

2015-01-25 10:46:33 9349 3

原创 MQTT协议之订阅及发布(使用paho-mqtt-client或mqttv3实现)

另外一个MQTT发布订阅客户端paho-mqtt-client或mqttv3采用回调的方式实现消息的接收,下面看一下实现

2015-01-22 11:35:26 46546 15

原创 MQTT协议之使用Future模式订阅及发布(使用fusesource mqtt-client实现)

fusesource提供三种mqtt client api: 阻塞API,基于Futur的API和回调API。其中,回调API是最复杂的也是性能最好的,另外两种均是对回调API的封装。 我们下面就简单介绍一下回调API的使用方法。

2015-01-21 19:59:24 11596 1

转载 Java常见内存溢出异常分析

Java虚拟机规范规定JVM的内存分为了好几块,比如堆,栈,程序计数器,方法区等,而Hotspot jvm的实现中,将堆内存分为了三部分,新生代,老年代,持久带,其中持久带实现了规范中规定的方法区,而内存模型中不同的部分都会出现相应的OOM错误,接下来我们就分开来讨论一下。

2015-01-21 09:15:08 2333

转载 亿级Web系统搭建——单机到分布式集群

大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决方案之上。希望这篇文章能够为技术人员提供一定的参考和帮助。以下为原文当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到

2015-01-21 08:59:26 1489

原创 MQTT协议之生产者消费者实现

上一节我们讲解了mosquitto的安装和使用,下面我们使用手机测试一下。将AndroidPushNotificationsDemo中mosquitto的服务器IP和port修改为对应的地址,再讲apk安装到手机中,通过命令行发送消息到手机。apk demo中订阅的地址为tokudu/yzq124.

2015-01-20 21:55:16 11665

原创 MQTT协议之Mosquitto安装和使用

Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用。

2015-01-20 16:26:11 10030

原创 MQTT协议说明及测试

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

2015-01-19 23:54:33 8189 1

转载 Android推送方案分析(MQTT/XMPP/GCM)

目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案。方案1、使用GCM服务(Google Cloud Messaging)简介:Google推出的云消息服务,即第二代的C2DM。优点:Google提供的服务、原生、简单,无需实现和部署服务端。缺点:Android版本限制(必须大于2.2版本),该

2015-01-19 20:45:38 2103

原创 node.js 环境源码安装测试

下载安装(1)到node.js官网下载安装包http://nodejs.org/download/,根据自己的环境下载安装包。wget http://nodejs.org/dist/v0.10.35/node-v0.10.35-linux-x86.tar.gz这个版本包含npm(Node Package Manager 是一个NodeJS包管理和分发工具,已经成为了非官方的发布No

2015-01-18 19:02:48 1250

原创 Linux 命令行& ; &&的区别

1.command1 & command2 & command3       三个命令同时执行 2.command1; command2; command3           不管前面命令执行成功没有,后面的命令继续执行 3.command1 && command2                         只有前面命令执行成功,后面命令才继续执行

2015-01-18 18:38:39 8171

原创 InfoQ精选文档

从InfoQ精选出的文档,详情参考:http://www.infoq.com/cn

2015-01-18 14:45:44 1692

原创 Zookeeper资料文章整理

Zookeeper源码分析zookeeper源码分析:对leader选举过程分析的纠正zookeeper源码分析:Leader与Follower同步数据流程zookeeper源码分析:FastLeader选举算法zookeeper源码分析:工作原理概述ZooKeeper客户端地址列表的随机原理ZooKeeper 会话超时ZooKeeper 数据模型ZooKeeper Watch

2015-01-18 14:43:13 1488

原创 Redis资料文章整理

redis入门、安装、配置redis主从同步配置实例Redis 安装及配置Redis系统性介绍redis server与client通信协议介绍redis事务介绍与应用Redis及PHP扩展安装Redis管理工具之phpRedisAdminRedis数据备份与恢复Redis事务的使用Redis官方主题 – Persistence持久化[翻译]Redis官方主题 – Re

2015-01-18 14:41:56 983 1

原创 Lucene/Solr资料文章整理

Solr、SolrCloud安装配置tomcat7下安装solr 4.3solrcloud在tomcat下安装(一)solrcloud在tomcat下安装(二)solrcloud在tomcat下安装(三)tomcat solrcloud zookeeper外部部署solr:配置多核(Multiple SolrCores)Solr 缓存配置Lucene、Solr应用,

2015-01-18 14:36:38 1315

原创 Java多线程系列文档目录

(一) 基础篇01. Java多线程系列--“基础篇”01之 基本概念02. Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式03. Java多线程系列--“基础篇”03之 Thread中start()和run()的区别04. Java多线程系列--“基础篇”04之 synchronized关键字05. Java多线程系列-

2015-01-18 14:34:55 1244

原创 数据结构与算法系列文章目录

java 开发常用算法。

2015-01-18 14:33:34 904

转载 ZooKeeper应用场景介绍

ZooKeeper是一个高可用的分布式数据管理与系统协调框架。维护着一个树形层次结构,书中的节点被称为znode。znode可以用来存储数据,并且有一个与之相关联的ACL(权限),znode不能大于1M。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。

2015-01-17 19:45:19 1230

原创 ZooKeeper web管理安装node-zk-browser

node-zk-browser是zookeeper web管理工具,使用node.js,基于express.js和node-zookeeper开发,以树的形式展示zookeeper的数据,登录后可以对节点数据进行新增,编辑,删除。

2015-01-17 19:34:49 8301

转载 常见的负载均衡的基本算法

负载均衡的基本算法,主要有以下几种(参考F5产品):随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直受到质疑,除非把服务器的可运行时间看的很重。轮询:轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。轮询算法在大多数情况下都工

2015-01-13 10:54:45 2793

转载 EXP/IMP使用技巧总结

1、 用sys用户全库导出DDL,不导出数据exp 'sys/oracle@ORCL as sysdba' file=D:/AIX/ORCL_ALL.dmp full=y ROWS=N log=D:/AIX/IRS_exp.log  说明:sys用户as sysdba登录,要用单引号引起来,SID紧跟着用户名密码,as sysdba放其后;rows=N表示不导出数据,只导出数据库对象定义。

2015-01-07 09:49:50 1763

转载 oracle 查找被长时间锁定的对象并KILL

1、用如下语句查找被锁住的表名、OSclient、Session信息SELECT B.SID        ,B.SERIAL#        ,D.SPID        OS系统进行号        ,C.OBJECT_NAME 被锁住的对像名        ,B.USERNAME    登录用户        ,B.SCHEMANAME  被锁对像模式

2015-01-07 09:45:41 1550

转载 Oracle Merge 使用介绍

Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.在Oracle10g中MERGE有如下一些改进:1、UPDATE或INSERT子句是可选的2、UPDATE和INSERT子句可以加WHERE子句3、在ON条件中使用常量过滤谓词来

2015-01-07 09:36:11 963

转载 ThreadLocal 那点事儿

ThreadLocal,直译为“线程本地”或“本地线程”,如果你真的这么认为,那就错了!其实,它就是一个容器,用于存放线程的局部变量,我认为应该叫做 ThreadLocalVariable(线程局部变量)才对,真不理解为什么当初 Sun 公司的工程师这样命名。早在 JDK 1.2 的时代,java.lang.ThreadLocal 就诞生了,它是为了解决多线程并发问题而设计的,只不过设计得有些

2015-01-06 09:35:31 872

转载 使用 RMI + ZooKeeper 实现远程调用框架

目录[-]1 发布 RMI 服务1.1 定义一个 RMI 接口1.2 编写 RMI 接口的实现类1.3 通过 JNDI 发布 RMI 服务2 调用 RMI 服务3 RMI 服务的局限性4 使用 ZooKeeper 提供高可用的 RMI 服务4.1 服务提供者4.2 服务消费者4.3 发布服务4.4 调用服务4.5 使用方法5 总结

2015-01-04 14:34:47 1938

thrift-spring-http代码实例

本文借鉴spring对hessian的支持,实现spring对Thrift的支持。服务端主要使用了spring的HttpRequestHandler接口和RemoteExporter接口。HttpRequestHandler接口用于暴露http服务,这样就可以接受http的请求,这个如果使用servlet也是可以的。RemoteExporter这块其实主要就是使用了它getServiceInterface和getProxyForService两个方法,这个和thrift服务端代码结合暴露内部的服务。客户端主要使用spring的MethodInterceptor和UrlBasedRemoteAccessor以及代理来实现对服务端的远程调用。

2015-03-02

spring-httpinvoker-demo

Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,要注意的一点是,服务端、客户端都是使用Spring框架。

2015-03-02

comet4j-demo

Comet4J Comet for Java 是一个纯粹基于AJAX XMLHTTPRequest 的服务器推送框架 消息以JSON方式传递 具备长轮询 长连接 自动选择三种工作模式

2015-02-26

olingo实例代码

Apache Olingo 是个 Java 库,用来实现 Open Data Protocol (OData)。 Apache Olingo 包括服务客户端和 OData 服务器方面。当前支持 OData 2.0 ,未来会支持 OData 4.0。Apache Olingo 扩展部分支持 JPA 持久性或者注释 bean 类。The Open Data Protocol (OData) 是个 web 协议,为了增强各种网页应用程序之间的数据兼容性,微软公司启动了一项旨在推广网页程序数据库格式标准化的开源数据协议(OData)计划,于此同时,他们还发 布了一款适用于OData协议的开发工具,以方便网页程序开发者们使用。

2015-02-02

Postman-REST-Client_v0.8.1

Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试。它能够发送任何类型的HTTP requests (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers。

2015-02-02

MQTT实现wmqtt

我们使用java实现生产者和消费者(MQTT使用wmqtt.jar),服务器采用mosquitto。

2015-01-20

PhpMQTTClient

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性: 1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合; 2、对负载内容屏蔽的消息传输; 3、使用 TCP/IP 提供网络连接; 4、有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量; 6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

2015-01-19

AndroidPushNotificationsDemo

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性: 1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合; 2、对负载内容屏蔽的消息传输; 3、使用 TCP/IP 提供网络连接; 4、有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量; 6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;

2015-01-19

rsmb安装包

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。

2015-01-19

haproxy-1.5.8.tar.g

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上.

2014-11-14

rocketmq实例代码

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。

2014-11-09

RocketMQ安装源码

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。

2014-11-09

RocketMQ学习文档

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。

2014-11-09

RocketMQ安装包

RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ。 具有以下特点: 1、能够保证严格的消息顺序 2、提供丰富的消息拉取模式 3、高效的订阅者水平扩展能力 4、实时的消息订阅机制 5、亿级消息堆积能力。

2014-11-09

rabbitmq-demo学习实例

rabbitmq学习实例,几种交换类型的demo和与spring结合的demo

2014-11-08

spring-rabbitmq-demo

基于spring-rabbitmq的异步消息发送和RPC远程调用实例

2014-11-08

kafka学习实例

kafka集群测试,生产、消费实例代码,kafka-demo.rar

2014-11-02

dubbo实例代码

dubbo测试实例,使用zookeeper注册中心。

2014-11-02

linux文件共享服务汇总

1、samba服务器 Windows与Linux文件共享 (主局域网) 1.1samba服务器介绍 1.2samba服务的启动和进程 1.3Samba 配置 1.4samba服务器端常用命令 1.5Samba应用示例一:linux用户在window端访问宿主目录 1.6Samba应用示例二:linux用户在window端访问服务器指定目录 1.7Samba应用案例三:建立一个公共的只读目录 2、FTP应用-vsftpd 2.1、FTP服务器介绍 2.2、FTP服务器配置 2.3、匿名用户访问 2.4、取消匿名用户登录 2.5、限定哪些用户可以访问ftp 2.6、限定哪些用户不可以访问其他目录 2.7、其他选项设置 3、UNIX类操作系统文件共享-NFS 3.1NFS说明 3.2NFS示意图 3.3安装和启动NFS服务器 3.4NFS服务器端设置 3.5NFS客户端设置 3.6NFS开机自动挂载 4、SSH与rsync 4.1介绍和使用ssh 4.2远程传输,备份 4.3使用rsync实现增量备份

2014-03-14

Android adb命令使用详解

Android 调试桥 adb 是多种用途的工具 该工具可以帮助你你管理设备或模拟器 的状态 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用 ">Android 调试桥 adb 是多种用途的工具 该工具可以帮助你你管理设备或模拟器 的状态 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 [更多]

2014-03-07

Selenium chrome和iE webdriver

selenium 测试iedriverserver和chromedriver

2017-04-02

selenium自动化测试工具Firefox以及插件

基于selenium开发工具

2017-04-02

Hive用户指南(Hive_user_guide)_中文版

Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

2015-10-08

PowerMock实战手册

PowerMock 也是一个单元测试模拟框架,它是在其它单元测试模拟框架的基础上做出的扩展。通过提供定制的类加载器以及一些字节码篡改技巧的应用,PowerMock现了对静态方法、构造方法、私有方法以及 Final 方法的模拟支持,对静态初始化过程的移除等强大的功能。因为 PowerMock在扩展功能时完全采用和被扩展的框架相同的 API, 熟悉PowerMock 所支持的模拟框架的开发者会发现 PowerMock 非常容易上手。PowerMock的目的就是在当前已经被大家所熟悉的接口上通过添加极少的方法和注释来实现额外的功能,目前,PowerMock 仅支持 EasyMock 和 Mockito。

2015-06-03

TestNG官方文档中文版

TestNG是一个测试框架,其灵感来自JUnit和NUnit的,但引入了一些新的功能,使其功能更强大,使用更方便。

2015-06-02

smack开发文档

Smack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天。

2015-06-01

基于xmpp_openfire_smack开发之smack类库介绍和使用

关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可以向openfire服务器注册用户,发送消息,并且可以通过监听器获得此用户的应答消息,以及构建聊天室,分组,个人通讯录等等。

2015-06-01

ActiveMQ集群

ActiveMQ具有强大和灵活的集群功能,ActiveMQ的集群方式主要由两种:Master-Slave和Broker Cluster。

2015-06-01

FastDFS安装软件包

FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。在生成环境FastDFS一般都是用集群配置,以提高FastDFS的可用性,并发能力。

2015-05-27

分布式文件系统fastdfs架构剖析及配置优化

FastDFS是一款开源的轻量级分布式文件系统 纯C实现,支持Linux、FreeBSD等UNIX系统 类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API 为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性 FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适

2015-05-27

fastdfs 5.01 + nginx + cache 集群安装配置手册

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

2015-05-27

dlz-dns-web

DLZ不是一个dns服务器,只是bind9的一个补丁,为简化了管理,减少了内存的使用和启动时间。使用DLZ可以将ZONE文件数据库数据存储在数据库,当数据库变化时,可以及时通知bind,并更新数据,不需要重启或重新加载配置。DLZ支持数据库 PostgreSQL, MySQL, Berkeley DB, ODBC (thus Firebird, DB2, Oracle, Sybase, SAPDB) and LDAP,它也可以使用一个标准的文件系统作为数据库,如果现有的驱动不满足,也支持API实现自定义驱动开发。DLZ不会影响bind现有的特性,你仍然可以使用标准的dns zone文件。

2015-04-23

dlz-dns-etc

DLZ不是一个dns服务器,只是bind9的一个补丁,为简化了管理,减少了内存的使用和启动时间。使用DLZ可以将ZONE文件数据库数据存储在数据库,当数据库变化时,可以及时通知bind,并更新数据,不需要重启或重新加载配置。DLZ支持数据库 PostgreSQL, MySQL, Berkeley DB, ODBC (thus Firebird, DB2, Oracle, Sybase, SAPDB) and LDAP,它也可以使用一个标准的文件系统作为数据库,如果现有的驱动不满足,也支持API实现自定义驱动开发。DLZ不会影响bind现有的特性,你仍然可以使用标准的dns zone文件。

2015-04-23

使用bind构建高可用智能dns服务器

目前智能DNS的实现主要有两种方式,一种是使用F5公司的BIG-IP GTM,另一种是使用bind自带的view来实现。BIG-IP GTM是一款商业产品,功能、性能极为强大,但是由于价格昂贵,中小型企业基本不会考虑花巨资购买此产品,所以只有一些门户网站将此用于核心业务,比如百度、阿里巴巴、金山;bind是一款开源程序,利用其自带的view可轻松实现智能DNS功能,其功能、性能都很好,一台普通配置的服务器,可每秒可处理2-4千查询请求。下面我们看一下利用bind的view功能是如何实现智能DNS的。

2015-04-19

spring-data-redis-demo

Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。

2015-04-07

memcache-demo

XMemcached 是一个新 java memcached client。下面我们以XMemcached为例,结合spring演示一下其使用。

2015-03-26

mongodb 备份恢复工具

mongobackup 是用于复制集的增量备份与恢复工具,恢复时,需要结合全量备份与恢复使用。

2015-03-20

thrift-zookeeper-rpc

对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使用较为复杂,因此采用curator-recipes工具类进行处理服务的注册与发现。 2.客户端使用连接池对服务调用进行管理,提升性能,这里我们使用Apache Commons项目commons-pool,可以大大减少代码的复杂度。 3.关于Failover/LoadBalance,由于zookeeper的watcher,当服务端不可用是及时通知客户端,并移除不可用的服务节点,而LoadBalance有很多算法,这里我们采用随机加权方式,也是常有的负载算法,至于其他的算法介绍参考:常见的负载均衡的基本算法。

2015-03-08

protobuf-demo

protobuf-rpc-pro是一个Java类库,提供了基于 Google 的 Protocol Buffers 协议的远程方法调用的框架。基于 Netty 底层的 NIO 技术。支持 TCP 重用/ keep-alive、客户端和服务端双向调用、SSL加密、RPC 调用取消操作、嵌入式日志等功能。

2015-03-05

burlap-spring-demo

Burlap是一个轻量级的XML RPC协议 这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如WSDL或IDL Hessian Burlap是Caucho提供的两种基于Http的轻量级远程服务 Burlap现在已经集成到hessian jar中 不作为一个单独的项目了 ">Burlap是一个轻量级的XML RPC协议 这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如WSDL或IDL [更多]

2015-03-03

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

TA关注的人

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