IceGrid Node介绍


绝大多数分布式系统都有一个共同特点,即分布在各个主机上的节点进程并不是完全独立的,而是彼此之间有相互联系和通信的。集群对集群中的节点有一些控制指令,如部署、启停或者调整某些参数等。IceGrid为了达到这个目标,也设计了一个特殊的节点进程-IceGrid Node,它的目标有以下几个:

        1. 负责IceBox的装载和启停;
        2. 采集主机的负载信息;
        3. 执行控制器IceGrid Admin的指令;

        简单的说,IceGrid Node就好像一个容器,启动以后,会安装预先定义的配置文件,加载其中的IceBox,并根据要求启动或停止其中的一个或多个IceBox进程。同时定期采集底层主机的负载信息(CPU Load),这些信息用于基于主机负载的负载均衡算法调度,它同时把自己的控制端口注册到Registry中,IceGrid Admin控制器就可以对所有的IceGrid
Node集中进行远程管理,下达指令。

        Registry、IceGrid Node、IceBox之间的关系
         

        每个IceGrid Node都有一个唯一的名字,配置文件如下:node1.cfg
1
2
3
4
5
6
7
8
9
10
11
#指定主注册节点的位置
Ice.Default.Locator=IceGrid/Locator:tcp -h localhost -p 4061
#设置节点1相关数据的存储目录
IceGrid.Node.Data=D:\Java\workspace\workspace-temp\test_iceBox_registry_iceGridNode\node\data
#指定节点1用于监听客户端连接的端口号
IceGrid.Node.Endpoints=tcp -p 5062  
#指定节点1的名称        
IceGrid.Node.Name=node1 
Ice.StdErr=D:\Java\workspace\workspace-temp\test_iceBox_registry_iceGridNode\node\node.stderr.log  
#指定错误日志文件
Ice.StdOut=D:\Java\workspace\workspace-temp\test_iceBox_registry_iceGridNode\node\node.stdout.log

注意:目录要先创建好

        启动:icegridnode --Ice.Config=src/node1.cfg

IceGrid介绍


        其实就是一个Registry进程+N个IceGrid Node进程。为了方便管理和运维,又增加下面几个程序包。
        1. icegridadmin:用来管理IceGrid的命令行工具,部署或升级IceGrid,查看Gnid节点状态,启停Node中的Server实例等。
        2. IceGridGUI : 是一个 java swing application,作用等同于 icegridadmin , 不过他有图形界面,适合在windows下远程管理IceGrid。
        3. icepatch:为一组命令行工具,分Server端与Client端,是替代rsyn或FTP的好工具,用来在网格中分发和同步IceGrid应用中用户开发的Ice服务的二进制代码,方便运维过程中的服务版本升级和扩容等工作。

        为了学习icegridadmin命令,我们分别启动Registry和Node:分别开三个命令名窗口
        icegridregistry --Ice.Config=src/registry.cfg
        icegridnode --Ice.Config=src/node1.cfg
        icegridadmin -u test -p test --Ice.Default.Locator="IceGrid/Locator:tcp -h localhost -p 4061"
        进入就可以进行各种操作了,这里对这块就不进行详细介绍了,有兴趣的同学可以自己去研究。


参考
         《ZeroC Ice 权威指南》3.4


资料
        源码:链接:http://pan.baidu.com/s/1bol23FL 密码:2jf3

ZeroC Ice IceGrid Node和IceGrid的更多相关文章

  1. Zeroc Ice 负载均衡之Icegrid simple

    最近学习Icestorm的replicated例子,在本地计算机上面跑通了,但在两台机器上(一台服务器192.168.0.113,一台客户端192.168.0.188),怎么都跑不通.上网求助,大家给 ...

  2. ZeroC Ice Ice Registry实现负载均衡

    Registry介绍         对于多个IceBox集群该怎么负载均衡?以服务注册表Registry为依托的Service Locator组件,以及依赖其而诞生的强大的分分布式框架-IceGri ...

  3. 用Python开发Zeroc Ice应用

    Zeroc Ice简介   Zeroc ICE(Internet Communications Engine ,互联网通信引擎)是目前功能比较强大和完善的RPC框架,支持跨平台.跨语言调用.它非常灵活 ...

  4. ZeroC Ice 暂记

    摘自: http://weibo.com/p/1001603869896789339575 原文地址: http://www.oschina.net/question/865233_242146 吴治 ...

  5. Ubuntu16.04下ZeroC ICE的安装与使用示例(Qt C++ 和 Java)

    项目需求:在Ubuntu16.04系统下安装并使用ICEgrid 3.7进行c++和Java Springboot开发环境的通信,下面逐一介绍各个步骤的详解: 一:Ice Lib的安装 参考官网地址: ...

  6. Zeroc Ice 发布订阅者之demo Icestorm之clock

    刚刚在服务端(192.168.0.113)和客户端跑通(192.168.0.188),在这里记录,作为备忘. 第一步:读readme,先用vs2010生成subscriber.exe和publishe ...

  7. ZeroC Ice启用SSL通讯的配置

    Zeroc ICE ( Internet Communications Engine )中间件号称标准统一,开源,跨平台,跨语言,分布式,安全,服务透明,负载均衡,面向对象,性能优越,防火墙穿透,通讯 ...

  8. ZEROC ICE 跨平台间程序调用 java版

    前言: 本来建博客是为了和大家分享一些前端的开发经验和心得呢,但是阴差阳错,第一篇技术博客确实关于跨平台,跨语言服务端调用的解决方案---ZEROC ICE. 最近一个项目涉及到java.python ...

  9. Zeroc Ice Slice语言使用 HelloWorld

    Slice介绍         为了开发多语言支持的RPC服务,需要一种中立的新语言来定义这个服务接口,以便各个编程语言能够准确无误地理解和翻译接口,为此Ice设计了Slice语言.Ice开发的第一步 ...

随机推荐

  1. java的断言(assert)

    概述 在C和C++语言中都有assert关键,表示断言.在Java中,同样也有assert关键字,表示断言,用法和含义都差不多.在Java中,assert关键字是从JAVA SE 1.4 引入的,为了 ...

  2. iOS开发出错whose view is not in the window hierarchy!的解决

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个简单的单窗口App在运行时出现错误: 2016-04-07 ...

  3. SQL 数据库语言分析总结(三)

    这次介绍通过mysql-WorkBench这个工具来管理操作数据库. 创建和删除数据库 1.点击创建数据库按钮 2.选中后右键,出现drop schema一项,这个用来删除. 设置默认数据库 选中右键 ...

  4. 【Shader拓展】Illustrative Rendering in Team Fortress 2

    写在前面 早在使用ramp texture控制diffuse光照一文就提到了这篇著名的论文.Valve公司发表的其他成果可见这里.这是Valve在2007年发表的一篇非常具有影响力的文章,我的导师也提 ...

  5. Java数据类型及类型转换

    http://blog.csdn.net/pipisorry/article/details/51290064 java浮点数保留n位小数 import java.text.DecimalFormat ...

  6. Android的ImageView介绍-android学习之旅(二十二)

    ImageView简介 imageView继承于View,主要用于显示图片,凡是Drawable对象都可以用它显示. ImageView直接派生了ImageButton和ZoomButton等组件. ...

  7. 套接字输入缓冲装置——InternalInputBuffer

    互联网的世界很复杂,信息从一端传向另一端过程也相当复杂,中间可能通过若干个硬件,为了提高发送和接收效率,在发送端及接收端都将引入缓冲区,所以两端的套接字都拥有各自的缓冲区,当然这种缓冲区的引入也带来了 ...

  8. StringBuffer与StringBuilder详解

    刚刚在参加网易实习生在线考试的时候,出了一道选择题谈到了StringBuilder这个类的一些选项,虽然那道题自己做对了,但是也提醒了我应该好好了解一些StringBuffer与StringBuild ...

  9. mongoDB介绍、安装、搭建简单的mongoDB服务器(一)

    相关网站 1. http://www.mongodb.org/ 官网,可以下载安装程序,和doc,和驱动等. 2. http://www.mongoing.com/ 国内官方网站,博客,问题谈论等  ...

  10. java的制作"时间账本"

    一直以来我都感觉自己的时间过得好荒废啊,貌似只是打开了一个网页链接的时间,一个下午便过去了:仿佛就是看了看空间,刷了刷微信,一天就过去了.哈,当然这是夸张的说法.但是我仔细地算了一下,大概我们每个人每 ...