ice调通过iceReplica用所有server instance的方法---客户端控制服务端的负载均衡

ICE集群环境搭建 本文将介绍ice搭建高可用集群环境的详细操作步骤,实现 register 的主从备份、双服务器节点负载均衡等功能 1、下载:     到官网 http://www.zeroc.com/ 下载最新的Ice-x.x.x.msi (windows)版本 2、安装:     双击下载下来的安装文件,安装到自己喜欢的目录下(例:D:\Program Files\ZeroC) 3、环境配置:      设置I... 阅读详情

I

  • 使用此方法,可以增量的通知Ice服务配置的改变,刷新每个服务进程的数据
  • 可以手动控制客户端调用的负载均衡,客户端程序决定将请求发往那个进程

上代码:

import logging
import Ice,IceGrid
import time
from company.service import Handler, HandlerPrx


REC_LOCATOR = "****************************"
ICE_LOCATOR_CACH_TIMEOUT = "300"


def init_ice():
    global __rec, ice, base, communicator, rec_replicas
    p = Ice.createProperties()
    p.setProperty("Ice.Default.Locator", REC_LOCATOR)
    p.setProperty("Ice.Default.LocatorCacheTimeout", ICE_LOCATOR_CACH_TIMEOUT)
    p.setProperty("Ice.BackgroundLocatorCacheUpdates", "1")
    id = Ice.InitializationData()
    id.properties = p 

    ic = Ice.initialize(id)
    base = ic.stringToProxy("*********/Query")
    q = IceGrid.QueryPrx.checkedCast(base)

    # ICE initialize
    while(1):
        communicator = Ice.initialize(id)
        #logging.warn("-------------initing ICE------------------")
        try:
            base = communicator.stringToProxy("recommend")
            __rec = HandlerPrx.uncheckedCast(base)
            print "replicated proxy: ", __rec
            rec_replicas = q.findAllReplicas(__rec)
            print rec_replicas
            if not __rec:
                raise RuntimeError("Invalid Ice proxy")
            logging.warn("-------init completed, proxy is %s--------"%__rec)
            break
        except Exception, e:
            logging.error("CAN'T CONNECT TO ice proxy, retrying...%s", str(e))
            try:
                communicator.destroy()
            except:
                pass
            base = None
            __rec = None
            time.sleep(1)
            continue

if __name__ == "__main__":
    init_ice()
    print "normal call", __rec.getResponse("adsfadsf")
    for rr in rec_replicas:
        adapter_id = rr.ice_getAdapterId()
        print "==================", adapter_id
        rrt = HandlerPrx.checkedCast(rr)
        print "each call", rrt, rrt.getResponse("xxx")
  • 执行之后,服务端接受到的log如下,可以看出每个进程分别执行了一次(开启了4个进程)
[INFO  2012-12-19 16:27:50,327 @ 435028] - Request: xxx
[WARN  2012-12-19 16:27:50,327 @ 435028] - parse input json error!
[INFO  2012-12-19 16:27:50,328  @ 435035] - Request: xxx
[WARN  2012-12-19 16:27:50,328 @ 435035] - parse input json error!
[INFO  2012-12-19 16:27:50,330  @ 435045] - Request: xxx
[WARN  2012-12-19 16:27:50,330  @ 435045] - parse input json error!
[INFO  2012-12-19 16:27:50,331  @ 435050] - Request: xxx
[WARN  2012-12-19 16:27:50,331  @ 435050] - parse input json error!

工业级RFID读写器|识读器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯实例方案 本文以工业级RFID读写器CK-LR08-E00和汇川PLC控制器H5U是实例介绍工业级RFID读写器CK-LR08-E00通过以太网TCPIP自由协议与汇川PLC控制器联机与通讯方案。 阅读详情

相关推荐

华为ENSP虚拟网络与本地物理网卡高效桥接实战指南

本文提供了一份详细的华为ENSP虚拟网络与本地物理网卡桥接实战指南。通过清晰的四步操作,帮助用户打破虚拟实验环境的“孤岛”限制,实现ENSP设备与真实局域网及互联网的互通,从而进行更真实的协议测试、软件升级和混合网络环境搭建。

qsc90123456的博客 536

【架构升级】【03】ice负载均衡

1.设置ice_connectionCached为false client.ice_connectionCached(false); 和每一个服务端的endpoint建立tcp连接,客户端自己做负载均衡 通过netstat -nalp |grep port 检查 2.配置文件后台定时更新endpoints列表 Ice.BackgroundLocatorCacheUpdates=1 Ice.Default.LocatorCacheTimeout=5 BackgroundLocatorCacheUpdate

huiyanshizhen21的博客 473

【Linux】U盘配置Ubuntu系统 ——(Win10+Ubuntu20.04)双系统安装教程

Ubuntu系统安装

WS_Change的博客 4327

ICE的负载均衡以及如何容错

在同一个主机主机上,ICE服务支持多端口的监听。 服务端注册: tcp -h host -p port1:tcp -h host -p port2形式, 例如: IP:172.17.12.101,需要在10001和10000同时监听。 就可以写成: tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.101 -p 10001 是不是很简单,运行...

coolsooner 237

别再只会插卡了!用示波器实测SIM卡上电时序与通信波形(附故障排查)

本文深入解析了SIM卡通信的电气信号与时序规则,通过示波器实测波形揭示SIM卡上电时序与通信协议的关键细节。从VCC、CLK、RST、DATA四路信号的协同工作,到ATR(Answer to Reset)的解析,再到常见故障的波形诊断与排查方法,为硬件工程师提供了实用的调试指南。文章还分享了高级调试技巧与现代化工具链搭建建议,帮助提升物联网设备SIM卡通信的可靠性与效率。

weixin_42567279的博客 325

Qwen3-VL、Qwen3-Next与Qwen3.5多模态架构深度解剖

多模态大模型的核心不在参数规模,而在于视觉与文本如何协同建模。本文从基础概念切入,解析视觉语言模型中视觉编码器、跨模态注意力、特征对齐与token压缩等关键原理;阐述ViT、CLIP-ViT及动态压缩模块(HDTC)在语义表征、空间感知与计算效率上的技术权衡;强调结构设计如何决定模型在医学影像、工业质检、遥感分析等高要求场景中的真实能力边界;最终聚焦通义千问最新三套VL架构——Qwen3-VL、Qwen3-Next与Qwen3.5——揭示其背后迥异的融合哲学与工程取舍,为选型、微调与推理优化提供底层依据。

weixin_33778544的博客 817

【详解】IceGrid负载均衡部署

IceGrid是ZeroC Ice框架的一部分,主要用于简化大型Ice应用的部署和管理。它提供了一个集中式的管理界面,用于服务的注册、配置管理和监控。通过IceGrid,管理员可以方便地对服务进行版本控制、动态更新配置以及监控服务状态。首先,定义一个简单的 Ice 接口 ​​Hello​​,这个接口有一个方法 ​​sayHello​​。Registry:注册表,用于存储对象适配器、服务器和客户端的信息。Locator:定位器,帮助客户端找到正确的服务器实例。Database。

牛肉胡辣汤 1156

【深度解析】信息素养提升实践活动(附:历年获奖作品分析)

全国师生信息素养提升实践活动是由教育部教育技术与资源发展中心(中央电化教育馆)主办,面向全国师生的一项信息化交流展示活动。

m0_74417957的博客 9646

IceGrid负载均衡部署(转)

1【IceGrid负载均衡部署步骤】1、环境主机1:IP=192.168.0.239,上面部署注册表服务器registry和节点node1,registry和node1运行在同一进程中;主机2:IP=192.168.0.25,上面部署节点node2;其中每个节点中包含一个服务程序,服务程序均在节点启动时启动。2、主机1配置(1)服务程序部署XML:app_rep.xml,内容如下<icegr...

weixin_30681121的博客 250

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 183

【基于 CasADi 的欠驱动无人船实时非线性模型预测控制(NMPC)实现与避碰仿真】MATLAB开源复现

本文提出了一种基于CasADi的欠驱动无人船实时非线性模型预测控制(NMPC)方法,实现了轨迹跟踪与避碰功能。研究采用三自由度USV动力学模型,集成静态与动态障碍物避碰约束,并满足国际海上避碰规则(COLREGS)。通过CasADi+IPOPT数值优化求解,实现了毫秒级实时控制。文章详细介绍了USV建模、NMPC控制器设计、避碰约束建模以及CasADi实现流程,包括核心求解流程和轨迹生成方法。实验结果表明,该方法能有效实现复杂环境下的轨迹跟踪与避碰功能。

vor234的博客 1394

ICE之——IceGrid负载均衡部署

1、环境 主机1:IP=192.168.0.239,上面部署注册表服务器registry和节点node1,registry和node1运行在同一进程中; 主机2:IP=192.168.0.25,上面部署节点node2; 其中每个节点中包含一个服务程序,服务程序均在节点启动时启动。 2、主机1配置 (1)服务程序部署XML:app_rep.xml,内容如下 #分布式系统名称 #服

冰河的专栏 7038

深入理解 HTTP 协议中的 Content-Type

是 HTTP 协议中的一个头部字段(Header),用于指示请求或响应中实体主体(body)的媒体类型(Media Type),也称为MIME 类型(Multipurpose Internet Mail Extensions)。

h a 6 6 6 c k 为 你解决复杂难题! 997

ice grid 第一篇

关键点: (1)如果想提高并发的话,还是在一个node上对于同一个application开多个server instance. 1.名词解释 。Replica groups A replica group is the term for a collection of replicated object adapters. An application can c...

weixin_30535167的博客 359

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ZeroC Ice Ice Registry实现负载均衡

另外对于多个IceBox集群该怎么负载均衡?以服务注册表Registry为依托的Service Locator组件,以及依赖其而诞生的强大的分分布式框架-IceGrid。     IceBox没有地方存储的Endpoint信息。为了解决这个问题,诞生了服务注册表Registry组件,它是一个以二进制文件形式储存运行期Ice服务注册信息的独立进程,支持主从同步,从节点可以分担查询请求,类似My

jerome 4006

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ZeroC ICE之旅------负载均衡及容错

Zero ICE我们已经掌握其基本运行原理。下面我们主要介绍一下ICe的多端口邦定的问题。 ICE使用TCP/IP 和UDP协议,以及基于TCP/IP之上的SSL协议。SSL协议可以充分保障Server/Client数据传输的加密安全性问题。 在这里,Server如何在同一台主机监听多个端口。 关于TCP/IP还是UDP还是SSL协议的选择,还是要看具有应用的要求,通常情况下TCP/...

webwindy的专栏 924

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ice register配置从服务

参考http://blog.youkuaiyun.com/qq_31678877/article/details/53009321

夜飛雪的博客 924

基于Zero-Ice搭建的物联网监控平台

基于Zero-Ice搭建的物联网监控平台,支持本地部署、云端部署。

技术需要分享 2987

ICE简介

一、ICE简介 1、ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,使我们能够以最小的代价构建分布式应用程序。ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程,这样我们就不用去考虑这样的细节:打开网络连接、网络数据传输的序列化与反序列化、...

深之JohnChen的专栏 8802

IceGrid负载均衡部署

<br />++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br /> 【IceGrid负载均衡部署步骤】<br /> 1、环境<br /> 主机1:IP=192.168.0.239,上面部署注册表服务器registry和节点node1,registry和node1运行在同一进程中;<br /> 主机2:IP=192.168.0.25,上面部署节点node2;<b

pj81102的专栏 3361

Ice 配置部署

ICE提供了灵活的配置部署方案,但为了减轻运维人员的工作量,开发的时候统一约定了一种规则,以便能够简易安装部署,所以总结了一套配置的规则。 1.1      目录结构 1.2      Icegridregistry配置与运行 根据高可用的方案,启动两个registry,一个作为master,另一个作为replica。 1)       config.master的配置如下

伯诚的Blog 8088

ICE通信之IceGrid服务(一)

一、 IceGrid功能 1. 定位服务 作为一个ICE定位服务,IceGrid的实施使客户能够间接地绑定到他们的服务器,提高应用程序的灵活性和适应不断变化的需求。 2. 按需激活 分布式部署的节点服务器,不需要立即启动,在客户端向服务器发送一个服务请求时,icegrid检查到该服务所在的服务器存在但是没有激活,则icegrid会激活这个服务器,这一过程对于客户端来说是透明的。

lihuayong的专栏 8594

ICE新手入门版

1、ICE是什么? 网络通信引擎ICE(Internet Communications Engine)是Zero C公司的分布式系统开发专家实现的一种新的高性能的面向对象中间件平台。从根本上说, ICE 为构建面向对象的客户-服务器应用提供了工具、 API( Application Program Interface)和库支持。基于ICE可以实现电信级的解决方案。 2、为什么会有ICE?...

weixin_30516243的博客 322

ICE入门

现的函数。java端调用的过程是这样的: 1。定义好接口,文件类型全部是*.ice文件。(在这个项目中这部分是C++同志完成的) 2。执行slice2java -I. XXX.ice。ICE将自动将其编译成.java文件。(参见注释1) 3。取所有生成的java文件到本地,放...

chengqinjian6893的博客 348

ICE应用实例

本文接上篇博文《ICE通信框架》如果你还没有接触过ice请先阅读我的上篇博文http://blog.youkuaiyun.com/liuzhoulong/archive/2011/03/04/6223450.aspx本文将结合实际项目,做一个基于ice的实际项目实例应用,该实例完成客户端调用服务端接口完成消息发送,计算的功能。1,创建java项目ICEServer,导入ice.jar.2,在项目下创建slice文件夹,编写model.ice,service.ice,service2.ice文件,其内容如下model.i

数据人生 8113
上一篇: LD_LIBRARY_PATH vs LIBRARY_PATH
下一篇: git config配置文件
crazyhacking
博客等级 码龄15年 299粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值