一、 IceGrid功能

1. 定位服务(Location service )

作为一个ICE定位服务,IceGrid的实施使客户能够间接地绑定到他们的服务器,提高应用程序的灵活性和适应不断变化的需求。

2. 按需激活(On-demand server activation )

分布式部署的节点服务器,不需要立即启动,在客户端向服务器发送一个服务请求时,icegrid检查到该服务所在的服务器存在但是没有激活,则icegrid会激活这个服务器,这一过程对于客户端来说是透明的。

3. 应用程序部署(Application distribution )

IceGrid提供了一种很方便的方式来部署应用到一组计算机中,不在需要一个文件共享系统或者是复杂的部署脚本,简单的使用IcePath2的配置服务,就能够保持必要的程序和文件的同步。

4. 复制和负载均衡(Replication and load balancing )

IceGrid的支持复制功能,将几台服务器中的是对象适配器复制成一个单一的虚拟对象适配器。在客户端和服务器间接绑定期间,客户端能够连接到任意一个对象适配器的端点,而且,IceGrid监听每一台服务器的负载情况,当客户端请求服务时,IceGrid使用这些监听信息来决定分配哪个端点来处理客户端的请求。

5. 会话和资源分配(Sessions and resource allocation )

客户端可以建立一个会话(session)来独占某个对象或者代理甚至服务器。IceGrid会阻止其他的客户端使用这个分配的资源,直到客户端释放它或者session过期。IceGrid的session服务增强了安全性,通过使用集成了一个Glacier2路由器的认证机制。

6. 自动容错(Automatic failover )

ice支持在任何一个包含多个端点的代理中自动重试和容错功能。当结合IceGrid的复制和负载均衡的支持时,自动故障转移意味着客户端发送一个请求,服务器处理请求失败时,IceGrid会选择一个最低负载的端点重新处理请求。

7. 动态查询(Dynamic queries )

在客户端通过查找的方式,查找出所有的代理端口信息,并由客户端决定使用哪个代理。

8. 状态监测(Status monitoring )

IceGrid提供Slice接口,允许应用程序监控其各项活动和收到有关重大事项的通知,可以使用监控接口来整合现有的监控系统。

9. 管理(Administration )

IceGrid包括命令行和图形化的管理工具。它们支持所有的平台,并允许启动,停止,监控,和重新配置任何服务器。

10. 部署(Deployment )

使用XML文件,通过描述符部署服务器到每台计算机,使用模板描述符可以简化相同服务器的部署。

11. 数据库独立(Database Independence)

默认情况下,IceGrid的使用Freeze数据库以保存其状态。然而,您可以配置IceGrid使用不同的数据库,如MySQL。

二、 IceGrid架构

一个 IceGrid域由一个注册表(Registry)和任何数目的节点(Node)构成。注册表和节点一起合作管理一些信息以及包含一些应用(Application)的服务进程。每个应用程序分配到特定节点的服务器。这个注册表维护了这些信息,注册表中的信息记录被持久化到数据库中,而节点负责启动和监测其指定的服务器进程。

对于一个典型的配置,一个节点运行在一台计算机(称之为Ice服务器主机)。注册表并不消耗很多处理器时间,所以它常常是和一个节点运行在同一台计算机上的,事实上,注册表和一个节点可以运行在同一进程中。

如果要想容错机制达到理想的状态,注册表也支持复制(Replication)功能使用主从式的设计。

下图显示一个很简单的IceGrid应用,它运行在一个有三台计算机的网络上。该IceGrid Registry 是PC1主机中唯一的一个进程中,而IceGrid Node运行在PC2和PC3主机上。此示例中,一个服务已经被分配给每个节点,客户端安装在一台独立的PC4上。

从客户端应用程序的角度来看,注册表的主要责任,是解决作为Ice定位服务的间接代理问题。因此,这方面的作用是非常明显的:当客户端第一次尝试使用一种间接代理,客户端的Ice run time连接注册表,并且将代理的符号信息转化为端点,使用这个端点允许客户端建立一个连接。

尽管注册还提供了一些其他的功能,不仅仅是一个简单的查询表,一个定位请求可能提示一个节点自动启动目标服务,或注册表可能会根据每台电脑的负荷统计选择适当的端点。

间接代理的好处:位置服务可以提供很大的功能,而客户端不需要任何额外的特定的操作,这点和直接代理不同,客户端并不需要更多的服务器的地址和端口信息。只是间接代理在客户的第一次使用代理时增加了一些延迟,不过,以后所有的相互作用直接发生在客户端和服务器之间,所以成本是微不足道的。此外,间接代理的方式允许已经部署的服务器迁移到不同的计算机上,而不需要更新客户端所持有的代理。

ICE通信之IceGrid服务(一)相关推荐

  1. 有奖调研 | 致云通信短信服务用户的一封信

    简介:感谢您一直以来对阿里云通信短信服务的支持.为了提升用户体验,为您在数字化转型的通信之路提供助力,云通信短信服务将发起一次满意度调研.有关短信服务,无论使用情况,抑或功能需求,还是文档.产品介绍页 ...

  2. android学习笔记---40_建立能与访问者进行相互通信的本地服务,后台运行的service

    40_建立能与访问者进行相互通信的本地服务 ------------------------------------------- 1.本地服务:如果服务和访问者在一个进程中那么就叫做本地服务.   ...

  3. 异步tcp通信——APM.Core 服务端概述

    为什么使用异步 异步线程是由线程池负责管理,而多线程,我们可以自己控制,当然在多线程中我们也可以使用线程池.就拿网络扒虫而言,如果使用异步模式去实现,它使用线程池进行管理.异步操作执行时,会将操作丢给 ...

  4. ROS通信机制(二) —— 服务(service)与srv文件

    文章目录 简述 特点 相关常用命令 通信模型 核心元素 通信过程 代码示例(服务端和客户端) 服务端(server.cpp) 客户端(client.cpp) 配置 CMakeLists.txt 编译和 ...

  5. ICE通信之IceBox服务器

    一. 简介 IceBox服务器用于配置服务.并把对它们的管理集中在一起,服务被开发成可动态加载的组件,通过属性为IceBox服务配置它负责加载和管理的应用特有的服务.要把多个服务组合成一个应用,可以通 ...

  6. .NET 即时通信,WebSocket服务端实例

    即时通信常用手段 1.第三方平台 谷歌.腾讯 环信等多如牛毛,其中谷歌即时通信是免费的,但免费就是免费的并不好用.其他的一些第三方一般收费的,使用要则限流(1s/限制x条消息)要么则限制用户数. 但稳 ...

  7. Java中Socket通信-客户端与服务端相互传输对象数据

    场景 Java中Socket通信-服务端和客户端双向传输字符串实现: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1084885 ...

  8. Java中Socket通信-客户端向服务端发送照片

    场景 Java中Socket通信-服务端和客户端双向传输字符串实现: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1084885 ...

  9. Web全栈开发学习笔记—Part2 与服务端通信—d.在服务端将数据Alert出来

    目录 REST Sending Data to the Server Changing the importance of notes Extracting communication with th ...

最新文章

  1. 命令行编译运行CSharp文件
  2. 关于去中心化身份的一点思考
  3. 每天学一点儿shell:Linux三剑客——grep命令
  4. git pull冲突解决
  5. HBase之Table.put客户端流程(续)
  6. Arthas实践--获取到Spring Context,然后为所欲为
  7. NVIDIA 发布 60 余项 CUDA-X 库更新,加速量子计算和 6G 研究等
  8. 计算机三级之嵌入式系统学习笔记6
  9. 测试人员转型是大势所趋:我的十年自动化测试经验分享
  10. java环境变量配置方法
  11. 基于yolov5与Deep Sort的流量统计与轨迹跟踪
  12. 208个地级市城市和农村总收入、可支配收入面板数据(2010-2019年)
  13. 37--8位级联加法器,并行加法器
  14. python 微服务 网关_关于API微服务网关
  15. 相控阵天线均匀面阵方向图(六)-----方向图函数的不同表达形式
  16. java的简单逻辑博彩游戏craps
  17. 计算机表格常用根式,平方根表
  18. BIM模型文件下载——四层仿古别墅模型
  19. 经典网络结构 (八):轻量化网络 (SqueezeNet, MobileNet, ShuffleNet)
  20. 最强大脑《联动归位》

热门文章

  1. [OC]TableView使用
  2. 实验一 命令解释程序的编写
  3. windos系统快捷键 2015-05-08 23:31 24人阅读 评论(0) 收藏...
  4. Delphi拖放编程
  5. 设置Discuz 7论坛游客可以查看图片,但不能下载附件.
  6. 使用程序修改域帐户直接领导时遇到的错误
  7. 靠谱测试人员需具备宏观把控能力
  8. 靠谱测试人员需要具备专业技术能力
  9. R语言 相关分析和典型相关分析
  10. 其他转成十进制,十进制转其他进制