- 浏览: 173522 次
- 性别:
- 来自: 上海
最新评论
-
19941:
大神,提供的demo读取配置文件有问题啊,一直读取不到。。。
整合了DFS+DHT+MyFastClitn的java客户端实现 -
lobin:
为什么我启动的时候,能启动, 但报如下错误呢?[2016-12 ...
FastDHT(分布式hash系统)安装和与FastDFS整合实现自定义文件ID -
yuqiyi:
这篇文章为了凸显fst得效率也是醉了.其一:kryo不做任何优 ...
高性能序列化框架FST -
a6186694:
247687009 写道aiyoaiyo0330 写道请教个问 ...
淘宝消息中间件RocketMQ的安装和简单使用 -
bo_hai:
能详细讲讲吗?
FastDHT(分布式hash系统)安装和与FastDFS整合实现自定义文件ID
文章列表
RocketMQ是什么?
RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点:
能够保证严格的消息顺序
提供丰富的消息拉取模式
高效的订阅者水平扩展能力
实时的消息订阅机制
亿级消息堆积能力
RocketMQ是alibaba开源的java消息中间件。在github上开源,项目同时也在oschina上。地址:https://git.oschina.net/vintagewang/RocketMQ/
下载RocketMQ3.0.8 最新的是3.1.0 试了好多次,编译怎么都不行啊。
果断使用了3.0.8
https://github.com/alibaba/RocketMQ/arch ...
ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户
下载
http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
解压
进入${zookeeper}/config
重新命名 zoo_sample.cfg --> zoo.cfg
修改dataDir=/tmp/zookeeper --&g ...
由于项目需要自定义文件的路径名称,而Fastdfs天生就是不支持自定义名称的,所以只能使用映射的方式来做,找了半天资料,发现余大已经实现了。经过半天的折腾总算是完成了
一简介
• 分布式hash系统,存储Key Value Pair
• 支持两种存储方式
– 缓存方式的MPOOL
– 持久存储方式的BDB
• Key包括三部分:
– Namespace
– ObjectID
– Key
• Key可设置过期时间,自动清除过期数据
• Server端划分group,同group数据互相备份,并且可自动压缩binlog
服务端可使用单线程,多线程模式
• 虚拟farm,便于扩容
• 分布式算 ...
最近做的电商项目中,使用了fastDFS文件系统来作为图片和文件的存储,然后官方提供的API中并没有提供连接池的实现,必然导致每次建立连接的开销较大,为了节约系统资源和提高效率,便自己动手写一个。原理是数据库连接池类似。如有不足,和问题往指出,我加以修改
首先来看连接池的接口,我这里做的很简单
/**
*
* @ClassName: ITrackerServerPool
* @Description: TODO(连接池的基本接口)
* @author LiuYi
* @date 2014年5月19日 下午2:07:05
*
*/
public interface I ...
fastDFS 官方提供了原生的javaAPI支持,可是的是并没有提供连接池技术,这一篇将介绍原始API,下一篇将自己写一个连接池来优化性能。
package com.fastDFS;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.UUID;
import org.csource.common.MyException;
import org.csource.common.NameV ...
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。
Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。
Java NIO出现不只是一个技 ...
在传统的java开发中,会有大量的javaBean,而javaBean中会出现大量的getter setter方法,
在属性特别多的时候,会让整个bena看起来很臃肿。
lombok出现的目的就是为了解决该问题,我们先看传统的写法
package lombok;
public class User {
private String username;
private String password;
public String getUsername() {
...
1、下载并且解压缩 nexus http://www.sonatype.org/nexus/
2、将bin添加到环境变量
cmd
选中一个操行项
刚刚安装 没有安装服务 所以先安装服务 : 输入 nexus install
安装完成时候 运行 nexus start 启动
这个错误是因为没有修改对正确的java路径
启动成功
在浏览器输入http://localhost:8081/nexus/index.html
进入nexus的后台管理 点击log in 登录 账户 :admin 密码:admin123
点击仓库
1、host的仓库。内部项目的 ...
选中项目中的pom.xml -> Run As Maven build 在弹出的窗口的Golas 输入clean package
看到控制到打印出 BUILD SUCCESS 说明打包成功 刷新target目录 看到打包好的jar包。
clean -->表示运行清理操作(会默认把target文件夹中的数据清理)
clean compile-->表示先运行清理之后运行编译,会见代码编译到target文件夹中
clean test-->运行清理和测试
clean package-->运行清理和打包
clean install-->运行清理和安装, ...
打开建立好的maven项目的pom.xml文件
选择 pom.xml视图
可以看到pom文件中的junit的版本为3.8.1,项目依赖的版本也就是3.8.1,下面试着更改pom中
<version>3.8.1</version>更改为4.10保存
maven自动把依赖更换了,我们只需要配置几句xml 是不是很方便呢?
1、所有的依赖都是通过坐标来进行存储的(GAV-->groupId、artifactId、version)
2、有一些网上的仓库提供了坐标的查询(http://mvnrepository.com)
3、通过<dep ...
Maven系列(三)快速开始
- 博客分类:
- Maven
使用Myeclipse 创建项目和直接使用命令行创建项目相比,前者更为高效,友好。
new -> Maven Project -> next ->
选择 maven-archerype-quickstart -> next
这里首先简单介绍一下maven的GAV 即 Group Id,Artifact Id,Vservion 来进行依赖的管理。
点击finish。
Myeclipse 会自动创建好maven项目。
源代码应该放置到src/main/java中
源代码的资源文件应该放置在src/main/resources文件夹中
测试代码应 ...
/**
*
* Map 集合
*
*/
function Map() {
// private
var obj = {};// 空的对象容器,承装键值对
// put 方法
this.put = function(key, value) {
obj[key] = value; // 把键值对绑定到obj对象上
};
// size 方法 获得map容器的个数
this.size = function() {
var count = 0;
for ( var attr in obj) {
count++;
...
maven是现在比较主流的依赖管理工具,基本的安装在上一篇中已经介绍。
本章节讲介绍Maven与Eclipse的集成。在新版本的Eclipse&MyEclipse中已经集成好了,只需要简单的配置即可使用maven进行项目的开发。这里使用Myeclipse Eclipse 也是类似的。
1,确保maven已经成功安装。cmd -> mvn -version
2 打开MyEclipse winwod -> pregerences -> Myeclipse -> Maven4MyEclipse -> Ins ...
一简介
HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%,大大的节约了流量。一般对于JS,CSS,html等静态资源的压缩率较高,最近测试最高能到69%。
二安装使用
实现gzip的方式有很多中,比如使用静态资源服务器内置模块apache,nginx
JQUERY的父,子,兄弟节点查找方法
$.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("b").parent()或者$("b").parent(".class")
$.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素
$.c ...