框架和工具
文章平均质量分 65
春文秋武
路延续着崎岖,静静地走着
展开
-
IceGrid
IceGrid为Ice应用提供定位和激活服务。间接绑定客户端和服务端,按需激活服务端(启动一个服务端进程)。具有应用分发、备份和负载均衡、会话和资源分配、自动故障转移、动态查询、状态监控、管理、部署等功能。实现Ice应用分布式集群运行。一个IceGrid集群有一个registry(注册表,用于定位)和多个node组成。注册表的作用:定位——客户连接注册表,注册表将间接代理信息转化为直接原创 2012-07-16 11:35:11 · 5022 阅读 · 0 评论 -
Google Protocol Buffer 介绍
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 R转载 2013-03-27 14:27:18 · 1653 阅读 · 0 评论 -
IceBox
IceBox是一个Ice应用服务框架。加载多个服务进行配置,进行一定优化;通过配置加载服务,解除服务和服务器的耦合。IceBox服务需要Slice定义、骨架代码(slice定义映射的特定语言代码)、Servant类、IceBox服务。具体实现:Hello.ice、Hello.h/Hello.cpp、HelloI.h/HelloI.cpp(Servant类,实现Hello)不再介绍,参考原创 2012-07-16 11:09:31 · 2781 阅读 · 0 评论 -
redis系列-主从复制
redis自身提供了主从的机制,通过配置可以实现数据的备份原创 2014-06-03 17:06:55 · 996 阅读 · 0 评论 -
zk系列-zookeeper概述
接触zk是2年前了,最近工作又比较依赖于zk,所以准备起个系列文章,系统的总结下。zook原创 2014-09-26 15:20:13 · 4592 阅读 · 0 评论 -
zk系列-c++下zookeeper使用实例
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。分布式应用可以使用它来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能。公司常用到的是Java服务集群的管理。1.函数介绍//create a handle to used communicate with zookeeperzhandle_t *zookeeper_init(const char *hos原创 2013-04-27 17:53:34 · 19060 阅读 · 7 评论 -
zk系列-zookeeper的使用
zk支持java/c访问,java常用的有apache-zkclient,以及社区版的i0tec-zkclient,i0原创 2014-09-26 16:57:43 · 4856 阅读 · 0 评论 -
消息队列-zmq常用通信模式
zmq是一个消息队列。可以在进程内、进程间、TCP、多播中,以消息为单位传输数据,而不是socket的字节流。官方主页上有下载、使用、文档,蛮全的。常用模式有:Request-Reply,Publish-Subscribe,Parallel Pipeline。Request-Replyrequestzmq::context_t context (1);zmq::socket_原创 2012-12-27 18:23:40 · 35099 阅读 · 0 评论 -
消息队列-rabbitMQ
消息队列两个用处:服务间解耦,缓解压力(削峰平谷),以前用过ZMQ、狼厂内部的NMQ,现在接触了java开源的kafka和RabbitMQ。目前先不求甚解,有个大概的认识。RabbitMQ的安装和入门例子见http://www.rabbitmq.com/,挺全的。安装前需要安装erlang,启动方便。RabbitMQ是一个强壮的消息队列,安装使用都很容易,支持常用的发布/订阅、消息分发功能原创 2014-12-18 21:05:34 · 1873 阅读 · 0 评论 -
redis源码系列-数据结构(adlist/ziplist/dict)
该系列基于redis-2.8.18,主要记录自己的理解或者想法。redis以自己支持存储的数据结构丰富吸引了大批人,把memcached比了下去。本文就从简单基本的数据结构入手。双向链表(adlist.h)typedef struct listNode { struct listNode *prev; struct listNode *next; void *val原创 2014-12-12 16:06:09 · 913 阅读 · 0 评论 -
消息队列-Kafka学习
Kafka是一个分布式的消息队列原创 2014-11-19 20:52:29 · 5139 阅读 · 0 评论 -
Redis系列-好玩的用法
分布式锁客户端执行如下命令,来获取锁和释放锁。random = random()ok = (Set key random PX 2000ms NX)if (ok) { //do something if (redis->get(key) == random) { (del key) }}key不存在时设置,过期时间是2000ms。如果命令成功,表示获取锁原创 2015-09-18 19:51:14 · 1012 阅读 · 0 评论 -
redis系列-redis的连接
Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。redis客户端连接比较简单,但日常中redis的使用和维护会有很多地方需要学习。本文只简单介绍下常用函数。//h原创 2013-12-24 16:31:39 · 10760 阅读 · 0 评论 -
redis系列-redis的持久化
redis对数据的持久化有两种方式:RDB(快照保存)和AOF(命令日志)原创 2014-04-21 15:10:20 · 816 阅读 · 0 评论 -
redis系列-redis的使用场景
redis越来越受大家欢迎,提升下速度,做下缓存,完成KPI之利器呀。翻译一篇文章How to take advantage of Redis just adding it to your stack>>,来介绍下Redis的适用场景。展现最新数据Web应用中常常需要列出“用户最新添加的东西”等一些最近发生变化的数据,需要对备选数据进行排序才能展现,mysql中会如下:SELECT翻译 2014-02-28 15:53:49 · 1817 阅读 · 0 评论 -
SVN 命令解释
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) s转载 2012-07-24 11:11:12 · 1029 阅读 · 0 评论 -
Ubuntu 用户切换和管理
由于 Ubuntu 是基于 Debian 的 linux 操作系统,在默认的情况下,是没有超级用户(superuser, root)的,但有些系统操作必须有超级用户的权限才能进行,如手动释放内存等。在其他 linux 操作系统 (如 fedora) 下,可以使用 su 切换到超级用户。当输入 su 命令后, 系统会要求输入 root 的密码。可是,在 Ubuntu 下我们根本不知道 roo原创 2010-05-12 21:00:00 · 5174 阅读 · 0 评论 -
kvm-libvirt的使用:创建虚拟机与快照
1.创建域(虚拟机):包括Volume和描述硬件配置的xml//前端与节点建立连接Connect conn=new Connect("qemu+ssh://root@192.168.69/system",false);//根据xml描述创建新虚拟机并启动SAXReader reader = new SAXReader();Document docu =reader.read(new原创 2011-08-30 18:23:39 · 6653 阅读 · 5 评论 -
Ubuntu装中文输入法
<br />1. 安装中文<br />System(系统)—— Administration(系统管理)——Language Support(语言支持)里面。找到并勾选: Chinese(汉语),自动下载、安装<br />2.安装SCIM<br />Terminal(终端)下输入:<br />sudo apt-get install scim scim-pinyin<br />重启ubuntu即可。<br />注意:一定要重启才能看得到输入法安装成功的效果<br />输入法切换的快捷键是原创 2010-07-14 21:12:00 · 1565 阅读 · 1 评论 -
虚拟机下unbuntu上网
NAT方式共享上网1. 在虚拟机下设置Ubuntu的网络连接方式为NAT(即Network adapter为NAT)2. 在主机的服务管理中开启VMware DHCP Service和VMware NAT Service两个服务3.Ubuntu中网络设置为自动配置(DHCP)或者手动设置IP及DNS(如何设置,请参考另外一篇文章linux下ip设置)手动设置方法:1.XP中ipconfig,得原创 2010-05-14 00:30:00 · 1466 阅读 · 0 评论 -
KVM概述
KVM(kernel-based Virtual Machine)-基于Linux内核的虚拟机,是一个开源的系统虚拟化模块。它的虚拟化需要CPU硬件虚拟化的支持(vt-x),是基于硬件的完全虚拟化。一个KVM虚拟机都是一个由Linux调度程序管理的标准进程。仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情:还必须有一个用户空间的工具才行。这个用户空间的工具,开发者选择了已经成型的开原创 2012-03-07 14:10:13 · 1204 阅读 · 0 评论 -
Guacamole-HTML5无客户端远程桌面
1.Guacamole一基于HTML5的远程桌面控制框架,性能较高,官方说接近于原生的VNC。具体介绍及安装方法,见http://guac-dev.org/2.本文使用Guacamole远程访问KVM虚拟机,这需要对/etc/guacamole/user-mapping.xml配置,指定运行的各KVM虚拟机的端口。3.在一个云计算项目中,需要整合该框架,达到访问虚拟机的时候不要再次验证。如原创 2012-03-16 11:12:39 · 6665 阅读 · 0 评论 -
ICE介绍及实例
Ice-Internet Communications Engine,是一种面向对象、跨平台、多语言的通信中间件。支持C++、Java、C#、VB、Python等,客户和服务器可以用不同的语言,可以运行在不同的操作系统和机器架构上,支持TCP/UDP。Ice应用组成:Ice对象——Ice对象是在本地或远地的地址空间中、能响应客户请求的实体。先由Slice定义,然后编译成特定语言版本;每个I原创 2012-07-16 10:33:37 · 7762 阅读 · 0 评论 -
ICE的Timer和TimerTask
IceUtil中提供了Timer和TimerTask来实现定时计算。Timer可以定时或重复执行TimerTask。class Timer : /* ... */ {public: Timer(); void schedule(const TimerTaskPtr& task, const IceUtil::Time& interval)翻译 2012-09-28 14:59:48 · 3085 阅读 · 0 评论 -
Redis系列-冷知识
下面是一些看了,但觉得用处不大,不记下又可惜的原创 2014-05-29 20:03:46 · 1191 阅读 · 0 评论