介绍:   Starling是一个支持MemCache协议的轻量级持久化服务器。Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台 机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅 是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自己的应用做了改进 ,他们认为网站速度快了很多.

这是一个支持memcache协议的轻量级持久化服务器,因此使用php/perl/ruby/java等多种客户端都没问题,可以将较慢的处理逻辑通过 消息队列放在后台处理,同时也支持多点分布式处理。

由于starling是目前twitter在生产环境中运行的,经过实践检验过,稳定性应该不成问题。

安装:

1.安装linux下的开发工具包,最好使用red hat的添加删除程序安装.

(1) 在可视化窗口下载打开"添加删除程序",找到"开发->开发工具"打钩,更新.插入 对应的linux安装盘.

2.安装ruby和ruby gem

(1)安装钱的准备

检查系统是否已经安装了 ruby,

#rpm -qa | egrep '(ruby)|(irb)'

如果已安装,而且不是你所要的版本,则需要先卸载她,如,

#rpm -e ruby-docs-1.8.1-7.EL4.2 /

ruby-1.8.1-7.EL4.2 /

irb-1.8.1-7.EL4.2 /

ruby-libs-1.8.1-7.EL4.2 /

ruby-mode-1.8.1-7.EL4.2 /

ruby-tcltk-1.8.1-7.EL4.2 /

ruby-devel-1.8.1-7.EL4.2

(2)安装 Ruby

假设 Ruby 安装到 /usr/local/ruby

#mkdir /usr/local/ruby

#tar -zxvf ruby-1.8.4.tar.gz

#cd ruby-1.8.4

#./configure --prefix=/usr/local/ruby

#make

#make install

(3)设置路径

#vi /etc/profile

在该文件中加入,

RUBY_HOME=/usr/local/ruby

PATH=$PATH:$RUBY_HOME/bin

export RUBY_HOME PATH

(4)检查是否安装成功

重新登录,

#ruby -v

如果能显示 ruby 的版本信息(ruby 1.8.4 (2005-12-24) [i686-linux]),则说明已安装成功。

(5)安装 Ruby Gems

#tar -zxvf rubygems-0.9.0.tgz

#cd rubygems-0.9.0

#ruby setup.rb

(6)检查是否安装成功

#gem -v

如果能显示 gem 的版本信息(0.9.0),则说明已安装成功。

3.安装和运行 Starling

(1)输入gem install memcache-client starling命令,自动安装starling.

(2)输入#starling --help检查是否安装成功,输出帮助信息及安装成功.

(3) 启动Starling

#starling -h 0.0.0.0 -d -p 22122

#netstat –lnp

编写Java客户端程序:

java客户端将使用,XMemcached作为memcache的client.  XMemcached是一个基于java nio的memcached客户端。具有速度快,支持分布式访问多个memcached服务的特点.

1.下载XMemcached

介绍:   Starling是一个支持MemCache协议的轻量级持久化服务器。Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台 机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅 是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自己的应用做了改进 ,他们认为网站速度快了很多.

这是一个支持memcache协议的轻量级持久化服务器,因此使用php/perl/ruby/java等多种客户端都没问题,可以将较慢的处理逻辑通过 消息队列放在后台处理,同时也支持多点分布式处理。

由于starling是目前twitter在生产环境中运行的,经过实践检验过,稳定性应该不成问题。

安装:

1.安装linux下的开发工具包,最好使用red hat的添加删除程序安装.

(1) 在可视化窗口下载打开"添加删除程序",找到"开发->开发工具"打钩,更新.插入 对应的linux安装盘.

2.安装ruby和ruby gem

(1)安装钱的准备

检查系统是否已经安装了 ruby,

#rpm -qa | egrep '(ruby)|(irb)'

如果已安装,而且不是你所要的版本,则需要先卸载她,如,

#rpm -e ruby-docs-1.8.1-7.EL4.2 /

ruby-1.8.1-7.EL4.2 /

irb-1.8.1-7.EL4.2 /

ruby-libs-1.8.1-7.EL4.2 /

ruby-mode-1.8.1-7.EL4.2 /

ruby-tcltk-1.8.1-7.EL4.2 /

ruby-devel-1.8.1-7.EL4.2

(2)安装 Ruby

假设 Ruby 安装到 /usr/local/ruby

#mkdir /usr/local/ruby

#tar -zxvf ruby-1.8.4.tar.gz

#cd ruby-1.8.4

#./configure --prefix=/usr/local/ruby

#make

#make install

(3)设置路径

#vi /etc/profile

在该文件中加入,

RUBY_HOME=/usr/local/ruby

PATH=$PATH:$RUBY_HOME/bin

export RUBY_HOME PATH

(4)检查是否安装成功

重新登录,

#ruby -v

如果能显示 ruby 的版本信息(ruby 1.8.4 (2005-12-24) [i686-linux]),则说明已安装成功。

(5)安装 Ruby Gems

#tar -zxvf rubygems-0.9.0.tgz

#cd rubygems-0.9.0

#ruby setup.rb

(6)检查是否安装成功

#gem -v

如果能显示 gem 的版本信息(0.9.0),则说明已安装成功。

3.安装和运行 Starling

(1)输入gem install memcache-client starling命令,自动安装starling.

(2)输入#starling --help检查是否安装成功,输出帮助信息及安装成功.

(3) 启动Starling

#starling -h 0.0.0.0 -d -p 22122

#netstat –lnp

编写Java客户端程序:

java客户端将使用,XMemcached作为memcache的client.  XMemcached是一个基于java nio的memcached客户端。具有速度快,支持分布式访问多个memcached服务的特点.

1.下载XMemcached http://xmemcached.googlecode.com/files/xmemcached-1.2.0-stable-include-dependencies.zip

2.把下载的zip解压,把里面的jar包都加到一个java项目的classpath中,还需要额外增加一个log4j的包,不然会报错.

3.写一个放数据和一个取出数据的类

=============放数据============================

public class SetQueueTest {

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

//连接starling

//XMemcachedClient是线程安全的,可以被多线程使用

XMemcachedClient client= new XMemcachedClient("192.168.4.243", 22122);

while(true){

//存 储操作

if (!client.set("hello", 0, "dennis"+System.currentTimeMillis())){

System.err.println("set error");

}

else{

System.out.println("ok");

}

Thread.sleep(2);

}

}

}

=============取数据==================

public class GetQueueTest {

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

//连接starling

//XMemcachedClient是线程安全的,可以被多线程使用

XMemcachedClient client= new XMemcachedClient("192.168.4.243", 22122);

//存储操作

while(true){

String name=(String)client.get("hello");

//如果队列中已经没有数据了,休息一下再试

if(name==null){

Thread.sleep(5);

continue;

}

System.out.println(name);

}

}

}

性能测试

这是别人用php测试的结果,仅供参考.

测试条件:

key的长度16B

value的长度100B,

8个并发写入进程

每个进程插入10,000条记录

平均每个 进程花了7秒完成写入操作,那么照这样计算:

10000 * 8 / 7 = 每秒写入11428次

2.把下载的zip解压,把里面的jar包都加到一个java项目的classpath中,还需要额外增加一个log4j的包,不然会报错.

3.写一个放数据和一个取出数据的类

=============放数据============================

public class SetQueueTest {

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

//连接starling

//XMemcachedClient是线程安全的,可以被多线程使用

XMemcachedClient client= new XMemcachedClient("192.168.4.243", 22122);

while(true){

//存 储操作

if (!client.set("hello", 0, "dennis"+System.currentTimeMillis())){

System.err.println("set error");

}

else{

System.out.println("ok");

}

Thread.sleep(2);

}

}

}

=============取数据==================

public class GetQueueTest {

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

//连接starling

//XMemcachedClient是线程安全的,可以被多线程使用

XMemcachedClient client= new XMemcachedClient("192.168.4.243", 22122);

//存储操作

while(true){

String name=(String)client.get("hello");

//如果队列中已经没有数据了,休息一下再试

if(name==null){

Thread.sleep(5);

continue;

}

System.out.println(name);

}

}

}

性能测试

这是别人用php测试的结果,仅供参考.

测试条件:

key的长度16B

value的长度100B,

8个并发写入进程

每个进程插入10,000条记录

平均每个 进程花了7秒完成写入操作,那么照这样计算:

10000 * 8 / 7 = 每秒写入11428次

java starling_java starling相关推荐

  1. java starling_Java使用starling分布式消息队列异步处理事务

    介绍:   Starling是一个支持MemCache协议的轻量级持久化服务器.Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台 机器间的异步工作进程.它是著名微博客网站T ...

  2. java starling_Java使用starling分布式消息队列异步处理事务...

    介绍: Starling是一个支持MemCache协议的轻量级持久化服务器.Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台 机器间的异步工作进程.它是著名微博客网站Twi ...

  3. Starling 2D框架简介

    本系列是对Introducing Starling pdf的翻译,下文是对adobe开发人员中心的一片日志的转载,地址为http://www.adobe.com/cn/devnet/flashplay ...

  4. Starling框架帮助手册中文版(PDF下载)

    什么是Statling? Starling 是一个基于Stage3D(这是Flash Player11及Adobe AIR 3中新增的为3D加速功能所提供的API)所开发的一个能够使用GPU来加速的2 ...

  5. (新手入门)AS3基于starling引擎移动开发之入门介绍

    从本期开始,我将陆续推出关于Actionscript3.0的移动开发入门知识,旨在帮助没有AS3开发经验而想从事或了解AS3移动开发的朋友,所以我的这一系列教程将是入门教程,欢迎各路大神.大牛多指教, ...

  6. java flash player_Flash4j(java flash编程插件)

    Flash开发通常使用ActionScript,这是一种脚本语言,对不习惯脚本语言的Java开发者而言,可能不够友好(Javascript也有类似问题).作为替代,Flash4j提供了完整的Java ...

  7. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  8. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  9. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

最新文章

  1. 使用WGAN生成手写字体
  2. 关于LR录制时不能自动启动IE浏览器的解决方法
  3. mysql8 授权远程登录_MySQL8 远程授权访问
  4. 线程池之ThreadPool与ForkJoinPool
  5. python 3d重建_三维人脸重建(一)——Python读取obj文件
  6. 一维稳态导热的数值计算c语言,传热传质上机实习题(参考资料C语言)
  7. 第一章 FPGA数字信号处理_数字混频(NCO与DDS)
  8. PS里面如何批处理图片
  9. 打开Word提示向程序发送命令时出现问题怎么办
  10. FIR内插滤波器的FPGA实现(一)-matlab实现
  11. 一些实用的镜像网站推荐
  12. 理解单隐层ReLU神经网络的全局损失
  13. 小众浏览器测评 | 星愿 | 百分cent | Vivaldi | Brave
  14. pytorch-多卡GPU训练
  15. 推荐16个下载超酷脚本的免费热门网站
  16. 遇到的奇葩问题和解决方法
  17. ce能修改服务器数据吗,ce修改游戏服务器数据库
  18. MacOS专用防火墙Paragon Firewall可有效监视控制网络接入
  19. 计算机科技最新发展,计算机最新技术发展趋势
  20. 如何用lisp画蔓叶线_利用 TI 图形计算器绘制美丽的极坐标曲线

热门文章

  1. shell(13) : 打印带颜色字体
  2. 电商私域流量品牌社群规划运营sop表格工作计划方案范文
  3. Creating Add-in Hooks (C#)
  4. Janus配置文件详解
  5. 像素深度 与 图像深度
  6. CRM-客户管理系统
  7. PDF免费在线转换网站分享
  8. html固定定位原理,css固定定位
  9. 非常好用的android特效
  10. stm32简说步进电机(有代码)!!!