`

Ice服务详解及应用_IceGrid(01)建立简单的IceGrid

    博客分类:
  • Ice
阅读更多

在这里,我将建立一个拥有一个registry和两个node的IceGrid,其中node1与registry运行在同一台计算机上(但不同进 程,IP为192.168.3.95),node2运行在另一台计算机上(IP为192.168.3.68)。环境均为XP SP2+Ice 3.2.0。

首先在D盘(可以任意)下建立目录MyIceGrid,再建立子目录db及db\registry和db\node1,以存放registry和node1的数据。

将以下MyIceGrid的配置信息另存为config.grid:

IceGrid.InstanceName=MyIceGrid

#
# The IceGrid locator proxy.
#
Ice.Default.Locator=MyIceGrid/Locator:default -h 192.168.3.95 -p 12000

#
# IceGrid registry configuration.
#
IceGrid.Registry.Client.Endpoints=default -p 12000
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Data=D:\MyIceGrid\db\registry
IceGrid.Registry.PermissionsVerifier=MyIceGrid/NullPermissionsVerifier
IceGrid.Registry.AdminPermissionsVerifier=MyIceGrid/NullPermissionsVerifier
IceGrid.Registry.SSLPermissionsVerifier=MyIceGrid/NullSSLPermissionsVerifier
IceGrid.Registry.AdminSSLPermissionsVerifier=MyIceGrid/NullSSLPermissionsVerifier

#
# IceGrid node configuration.
#
IceGrid.Node.Name=node1
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=D:\MyIceGrid\db\node
IceGrid.Node.CollocateRegistry=1
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
IceGrid.Node.Trace.Patch=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar

 

再将node1的配置另存为config.node文件:

#
# Sample configuration file for the IceGrid node daemon
#

#
# Proxy to the IceGrid registry
#
#Ice.Default.Locator=MyIceGrid/Locator:tcp -h 192.168.3.95 -p 4061
#Ice.Default.Locator=MyIceGrid/Locator:ssl -h localhost -p 4062
Ice.Default.Locator=MyIceGrid/Locator:tcp -h 192.168.3.95 -p 12000

#
# The name of this node; must be unique within an IceGrid deployment
#
IceGrid.Node.Name=node1

#
# The node object adapter listens on all interface using an OS-
# assigned port
#
IceGrid.Node.Endpoints=tcp

#
# The directory where the IceGrid node maintains its data
# (server configuration files etc.)
# This directory must exist when icegridnode starts
#
# Under Vista we recommend using:
#
# C:\Users\Local Service\AppData\Local\ZeroC\icegrid\node1
#
IceGrid.Node.Data=D:\MyIceGrid\db\node1

#
# Redirect server stdout and stderr to files in this directory:
#
# Under Vista we recommend using:
#
# C:\Users\Local Service\AppData\Local\ZeroC\icegrid\node1
#
IceGrid.Node.Output=D:\MyIceGrid\db\node1
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties. Uncomment the other trace properties and
# select a suitable tracing level if you are having problems
# with activating servers.
#
IceGrid.Node.Trace.Replica=2
#IceGrid.Node.Trace.Activator=3
#IceGrid.Node.Trace.Adapter=3
#IceGrid.Node.Trace.Server=3

有了这些配置信息,我们已经可以建立拥有registry和node1的grid了,启动命令如下:
#启动registry
icegridregistry –Ice.Config=D:\MyIceGrid\config.grid
#启动node1
icegridnode –Ice.Config=D:\MyIceGrid\config.node

如果需要将它们运行为Windows的服务,可以使用–install参数安装,并设置服务的登录帐户为LocalService,然后在服务管理中启动。需要注意的是,如果配置文件发生了改动,那么必须重新启动它们才会生效。

现在把另台计算机上的node2启动并注册吧,相应的配置文件与node1非常类似,只需要把node1的东西改为node2就可以了,记得端口等信息要与registry一致。启动方法也与上面一样,就不再多说了。

怎么样看node1和node2是否已经注册呢?
输入以下命令启动IceGridAdmin:
icegridadmin –Ice.config=D:\MyIceGrid\config.grid
IceGridAdmin
从窗口上能看出来建立的IceGrid使用的Ice版本为3.2。
在这里输入node list可以看到目前注册了的结点:node1和node2。
Node List

实施完以上步骤,我们的简单IceGrid就建立好了。当你在运行有node2的计算机上使用IceGridAdmin进要求输入用户名和密码,这个东西在IceGrid的配置文件的最后面。

Update 2007-07-18: 今天遇到的怪事是一直用node ping NAME命令ping不到除本地运行的结点以外的其它结点,搞了半天才找到罪魁:WINDOWS自带的防火墙。虽然不影响注册,但影响应用程序的部署,害 我早上发现在分布在3台PC机上的4个结点上部署应用程序需要84秒。这下问题解决了。成事不足败事有余的WINDOWS防火墙,我关! 

 

分享到:
评论

相关推荐

    Demo_ice.zip_DEMO_Demo_ice_ICE_ICE demo_ice mysql

    《ICE接口与MySQL数据库结合应用详解》 在IT领域,高效的数据交互是系统设计的关键环节。本示例“Demo_ice.zip_DEMO_Demo_ice_ICE_ICE demo_ice mysql”提供了一个通过ICE(Internet Communication Engine)接口...

    IceGrid应用配置手册

    ### IceGrid应用配置手册知识点详解 #### 概述 **配置目标:** 本文档旨在指导用户如何使用IceGrid服务进行有效的应用配置。IceGrid作为Ice中间件的重要组成部分,提供了多种功能,包括但不限于: 1. **分布式...

    ice.rar_ICE_ICE 开发_ICE CORBA_corba_ice接口

    ICE提供了丰富的语言绑定,包括C++、Java、Python等,使得跨语言的通信变得简单。 ICE的核心概念包括代理(Proxy)、骨架(Skeleton)、适配器(Adapter)和 Slice定义语言。代理是客户端对象,用于调用远程服务;...

    Ice.zip_ICE_ICE C++

    【标题】"Ice.zip_ICE_ICE C++" 指的是一个压缩包,其中包含与ICE(Internet Communication Engine)相关的C++程序代码。ICE是一个跨平台的中间件,用于构建分布式应用程序,它提供了多种语言的接口,包括C++。 ...

    ice.fig.rar_ ice.fig_ice.fig_ice函数_matlab ice_matlab ice函数

    matlab ice.fig 函数源代码

    ICE.rar_ICE_ice debug_多核系统

    标题中的“ICE.rar_ICE_ice debug_多核系统”暗示了这是一份与ICE(可能代表Integrated Circuit Emulator,即集成电路仿真器)相关的技术资料,重点在于多核系统的调试和ICE的使用。描述中提到的“基于ICE仿真器的...

    ICE.rar_ICE_ice lin_linux i

    ICE.rar_ICE_ice lin_linux i 这个压缩包文件主要关注的是ICE内核在Linux环境下的配置和编译过程,适用于对ICE环境进行搭配和内核修改的场景。ICE,通常代表某个特定的软件或技术,可能是操作系统的一个组件或者一个...

    ARM-code.rar_ARM ICE_ICE_multi ice_multi-i_multi-ice

    标题中的"ARM-code.rar_ARM ICE_ICE_multi ice_multi-i_multi-ice"暗示了这是一个与ARM架构微处理器相关的项目,特别是涉及到ARM ICE(Integrated Circuit Emulation)工具,这是一类用于调试和开发ARM芯片的硬件...

    multi-ice.rar_ICE_multi ice_multi-ice

    标题中的"multi-ice.rar_ICE_multi ice_multi-ice"似乎是一个压缩文件的名称,它包含了一系列与"ICE"(可能是指集成计算环境或者是一种特定的技术)和"multi-ice"相关的项目或软件。"multi-ice"可能是某种软件、框架...

    ice.rar_ice matlab_ice.m matlab_matlab ice_matlab ice_matlab i

    《冈萨雷斯数字图像处理MATLAB版源码:ICE源码解析》 在计算机科学领域,数字图像处理是一项至关重要的技术,广泛应用于医学影像、遥感、机器视觉等多个领域。MATLAB作为强大的数学计算和数据分析工具,是进行图像...

    ICE_MAP.zip_ICE_ICE曲线_matlab 万有特性_matlab 发动机_万有特性

    在IT领域,特别是汽车工程和控制系统的仿真与分析中,"ICE"通常指的是Internal Combustion Engine(内燃机)。本文将围绕标题“ICE_MAP.zip_ICE_ICE曲线_matlab 万有特性_matlab 发动机_万有特性”展开,详细讲解...

    Ice_install.rar_ICE_ISCE install_ice lin_ice linux

    在IT领域,ICE(Integrated Computing Environment)是一种广泛使用的软件框架,尤其在地球科学、遥感以及图像处理等专业领域。ICE通常与ISCE(Integrated System for Circular SAR Processing)结合使用,提供了一...

    ICE_1.rar_ICE_ICE 并发

    在IT行业中,ICE(Internet Communication Engine)是一种高性能的中间件框架,主要用于构建分布式系统和实时通信应用。"ICE_1.rar_ICE_ICE 并发"这个标题表明我们即将探讨的是ICE框架中的并发处理机制,这涉及到多...

    ICE中间件技术详细教程_ICE_中间件_

    接下来,你需要了解如何定义和实现服务接口,以及如何启动和连接到ICE服务。此外,还要学习错误处理、日志记录和调试技巧。 **服务协议** ICE的服务协议是基于其自定义的二进制协议,旨在提供高效的数据传输。此外...

    Melt_Ice_Model_ICE_融冰_melting_直流融冰_全桥整流_

    标题中的"Melt_Ice_Model_ICE_融冰_melting_直流融冰_全桥整流_"暗示了我们讨论的核心内容是利用直流电流对输电线进行融冰的模拟模型。在这个模型中,"ICE"可能代表了冰的物理状态或者是一种特定的融冰控制系统。接...

    Ice.js.gz_ICE_ice js 延时_ice. js_ice.js_icejs

    这是一个开发框架,适合新手练习,框架性能优秀,可以提高开发效率;

    fy_iceworld_2002.zip

    标题“fy_iceworld_2002.zip”和描述中的信息看似简洁,但实际上指向了一个特定的游戏资源包,可能与著名的第一人称射击游戏《反恐精英》(Counter-Strike)有关。标签“fy_iceworld”进一步确认了这一点,因为"FY...

    ice.rar_ICE_vb 定时提醒

    【标题】"ice.rar_ICE_vb 定时提醒"是一个VB(Visual Basic)开发的桌面应用程序,名为“冰影小秘书”。这个程序提供了一系列实用的功能,如记事本、定时提醒以及ASCII码查询,旨在增强用户的桌面体验。其特别之处...

    将研发文档中的01 项目部署到IceGrid中.rar

    这里我们关注的是“将研发文档中的01 项目部署到IceGrid中”,这涉及到两个主要知识点:IceGrid和C# ICE。 首先,让我们来了解IceGrid。IceGrid是一个强大的分布式系统管理框架,由ZeroC公司开发,它提供了服务注册...

    552404 ZeroC Ice权威指南_ZeroCI_

    《552404 ZeroC Ice权威指南》是一本深度解析ZeroCI框架的专业书籍,旨在为读者提供全面且深入的ICE(Internet Communication Engine)框架使用知识。ICE是一款跨平台的中间件,由ZeroC公司开发,用于构建分布式系统...

Global site tag (gtag.js) - Google Analytics