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

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


关于TCP/IP还是UDP还是SSL协议的选择,还是要看具有应用的要求,通常情况下TCP/IP协议的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


赫赫是不是很简单,运行之后,服务就监听于10000和10001端口,请注意:避免其他应用相冲突。


客户端连接可以采用如下3种形式:

1. tcp -h 172.17.12.101 -p 10000
2. tcp -h 172.17.12.101 -p 10001
3. tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.101 -p 100001

是不是很爽。

无论Server监听在多个端口,还是只有唯一的一个Server在工作,

对于Client较多的应用或负载要求很高的情况下,我们可以把Server程序运行于多台主机之上。通过集群方式合理有效的化解来自Client的压力。

例如:

ServerA 172.17.12.101 tcp -h 172.17.12.101 -p 10000
ServerB 172.17.12.102 tcp -h 172.17.12.102 -p 10000
ServerC 172.17.12.103 tcp -h 172.17.12.103 -p 10000


Client可以如下的连接方式:
tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.102 -p 10000:tcp -h 172.17.12.103 -p 10000

或是
tcp -h 172.17.12.101 -p 10000:tcp -h 172.17.12.102 -p 10000

等多种情况,可以根据应用的具体要求合理有效的构造所需连接主机的字符串。


这种连接方式是不是很cool。

其实这种连接方式可以有效地利用ICE提供的load balancing功能,把Client的每个请求合理的分配到每个Server。从而有效地避免了Client大量请求对同一台Server的巨大压力。


ICE的load balancing主要采用round-robin算法,round-robin是一种非常有效的负载均衡算法.


大家会问了,如果某个Server如果宕机,那么这个Client还能正常工作么?

这个问题问得好,其实ICE自身提供一种极其强大容错技术功能。
具体体现在如果当某个Server(假设是ServerA)宕机之后,来自Client的请求分配到ServerA服务器上,Client会自动记录ServerA失效状态,会把请求再分配给可正常工作的Server(ServerB,ServerC),对于用户的每次请求都能分配到正常的服务主机上(除非A,B,C都同时宕机).当ServerA回复正常之后,Client会自动感知ServerA工作状态.Client的请求又可以有效地分配到上述A,B,C主机上.这一切对于开发者都是透明的.

ICE所提供的集群功能和容错功能是极其强大的.


Client状态感知的变化和更新完全不需要Client重新启动。
WebRTC ICE 服务器搭建 阅读详情

相关推荐

Claude Code Skill实战:打造代码审查、测试生成与提交规范

在AI编程工具日益普及的今天,开发者不再满足于简单的对话式代码生成,而是追求更高效、更可控的工程化工作流。Claude Code作为一款终端AI编程Agent,其核心优势在于可通过Skill机制实现深度定制,让AI按照团队规范自动执行重复性任务。Skill本质上是一份结构化的指令说明书,通过定义触发条件和执行步骤,将代码审查、单元测试生成、Git提交信息整理等高频操作标准化。从概念到原理,从技术价值到应用场景,掌握Skill的编写与组合,能让AI真正融入日常开发流程,成为稳定的工程执行者。本文以三个实用Sk

weixin_33871366的博客 491

网络实时通信基础解读: ICE服务器、TURN服务器与信令服务器

TURN(Traversal Using Relays around NAT)服务器是一种用于实现防火墙穿越的网络服务器。它充当中继服务器的角色,帮助设备在防火墙限制下建立点对点的连接。信令服务器是实时通信中用于建立连接和交换信息的服务器。它充当设备之间的桥梁,负责处理与连接相关的任务。

m0_72410588的博客 1579

清华老师给我讲了15种微服务框架,15种啊,同学们,快快学起来。

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

小汤圆 1101

六、ICE服务——ice环境搭建

ice环境搭建

tj的博客 3151

ice性能测试,用于评估网络通讯库性能

基于互联网通讯引擎开发的测试程序,用于评估网络通讯核心在各种通讯协议,通讯方式、数据类型、数据大小、延时等性能参数的传输性能。

ZeroC提 供的一款高性能的中间件 ICE

ICE(Internet Communications Engine)是ZeroC提 供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。前面我们提到过在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础 对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,.net,python)进行更丰富的表现与操作,从而实现比较好的架 构。基于ICE的数据层可以在未来方便的进行扩展。ICE支持分布式的部署管理,消息中间件,以及网格计算等等。

ICE/TURN/STUN/Coturn服务器搭建

当我们想要实现在公网环境下的语音/视频通话功能时,就需要用到ICE交互式连接建立。ICE不是一种协议,整合了 STUN 和 TURN 两种协议(用于 NAT 穿透)的框架。ICE的主要目标是解决NAT(网络地址转换)穿越问题,使得即使在复杂的网络环境下,如防火墙和NAT路由器后面,两个对等体也能够发现彼此并建立连接。

小熙的博客 4723

【Lane】 Ultra-Fast-Lane-Detection 复现

引言 车道线检测源码复现以及训练自己的数据集 1 环境搭建 conda create -n lane python=3.7 conda activate lane # 激活环境 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch pip install -r requirements.txt 2 下载项目源码 若在服务器上可以用指令下载,否则直接在网址中下载 git clone https://github.com/cfzd/U

qq_44703886的博客 2万+

ace的轻量级 网络通讯库 ZeroC ICE之旅------负载均衡及容错

http://masterkey.iteye.com/blog/185081 ZeroC ICE之旅------负载均衡及容错 博客分类: 技术 应用服务器算法工作CC++  Zero ICE我们已经掌握其基本运行原理。下面我们主要介绍一下ICe的多端口邦定的问题。 ICE使用TCP/IP 和UDP协议,以及基于TCP/IP之上的SSL协议。SSL协议可以充分保障S

713

YOLOv10注意力革新:小波域注意力(WDA)如何实现多尺度特征精准聚焦

本文深入解析YOLOv10中的小波域注意力(WDA)机制,探讨其如何通过频域分解与动态聚焦实现多尺度特征精准提取。WDA模块结合离散小波变换与注意力机制,显著提升小目标检测性能,在VisDrone数据集上AP提升达12.6%。文章详细介绍了两种集成方案及代码实现,为计算机视觉开发者提供实用指南。

weixin_29079671的博客 251

抖音直播行为规范考试

抖音直播行为规范考试

Q1642968641的博客 1万+

ZeroC ICE之旅

Ice 是 Internet Communications Engine 的简称,出自ZeroC名门之下。  Ice 是一种面向对象的中间件平台。从根本上说,这意味着Ice 为构建面向对象的客户-服务器应用提供了工具、API 和库支持。Ice 应用适合于异构平台环境中使用:客户和服务器可以采用不同的编程语言,可以运行在不同的操作系统和机器架构上,并且可以使用多种网络技术进行通信。无论部署环境如何

记事本 1650

手把手教你玩转AT32F403A位带操作:像51单片机一样控制GPIO

本文详细介绍了如何在雅特力AT32F403A国产MCU上实现位带操作,像51单片机一样高效控制GPIO。通过实战演示和性能对比,展示了位带操作在实时控制中的优势,包括更快的执行速度和更低的延迟,特别适合工业控制和电机驱动等场景。

weixin_29234509的博客 285

简单聊一聊分布式架构中的sprng体系和zeroc ice的联想类比

zeroc ice 是一款稳定性极高,高性能高吞吐的分布式架构解决方案,框架本身隔离了分布式应用组件的复杂性,并支持多语言混合开发不同微服务,相互调用透明无感,就像本地调用方法一样。- 在 IceGrid 中,服务以IceBox的形式部署,每个 IceBox 是一个独立的进程,包含一个或多个服务对象(Servant)。- 容错保护:服实现断路器机制,当服务失败率达到阈值时,可以自动熔断,返回预设的降级响应,防止系统雪崩。- 服务消费者通过注册中心动态发现可用的服务提供者,实现服务间的解耦和动态调用。

哈士奇是我的信仰~呜哇 470

药物相关 PK(药代动力) 、PD(药效)指标知识

PK代表药物的药代动力学,指的是药物在体内的吸收、分布、代谢和排泄等过程,包括药物的药代动力学参数如Cmax(最大血药浓度)、Tmax(最大血药浓度出现的时间)、t1/2(半衰期)、AUC(药物曲线下面积)等。PD代表药物的药效学,指的是药物与生物体相互作用所产生的药理效应,包括药物的药效学参数如EC50(半数最大有效浓度)、ED50(半数最大效应剂量)、Emax(最大效应)等。PD(Pharmacodynamics)则研究药物的药效学特性,如药物的作用机制、效力、最大疗效、最小毒性等。

weixin_42357472的博客 2万+

RK3588 部署 YOLO26 目标检测:PT → ONNX → RKNN 全流程

YOLO26n 在 RK3588 上 INT8 量化后 NPU 推理约 15ms,系统 FPS 约 55,可以覆盖边缘端实时检测需求。模型从 PT 到 RKNN 的转换要用opset=11避免算子兼容问题。先用 YOLO26n + 640 输入跑通全链路,确认推理结果正确后再做性能调优。

m0_64661770的博客 303

ICE的负载均衡及如何容错

ICE原理介绍:http://blog.sina.com.cn/s/blog_4f9fc08e0100u0pw.html 在同一个主机主机上,ICE服务支持多端口的监听。 服务端注册: tcp -h host -p port1:tcp -h host -p port2形式,例如:IP:172.17.12.101,需要在10001和10000同时监听。就可以写成:tcp -h 172.17....

云计算? 109

【超详细】计算机操作系统总结及思维导图(汤子瀛版)

计算机操作系统 一.操作系统引论 1.操作系统的目标和功能 目标 方便性 有效性 提高系统资源利用率 提高系统吞吐量 可扩充性 开放性 作用 OS作为用户与计算机硬件系统之间的接口 命令方式 系统调用方式 图标–窗口方式 OS实现了对计算机资源的抽象 2.操作系统的发展过程 未配置操作系统的计算机系统 人工操作方式 用户独占全机 CPU等待人工操作 严重降低...

圣三一 2万+

常见微服务框架

它利用Spring Boot的开发便利性巧妙地简化了分布式系统基 础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家 公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。:服务实例将自身服务信息注册到注册中心。

weixin_62221994的博客 518

GIS常用符号化色带(超级色带)根据python制作

GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例,

J_Giser的博客 2637

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Spring Cloud微服务学习笔记CS.1

文章目录前言一、分布式核心知识1.1分布式中的远程调用1.2分布式中的CAP原理二、常见微服务框架2.1SpringCloud2.2SpringCloud中的核心组件2.3ServerComb2.4.ZeroC ICE@注: 前言 Spring Cloud 学习笔记(根据课程进行整理) 1.微服务基础知识 一、分布式核心知识 1.1分布式中的远程调用       流行的调用技术:RPC,HTTP RPC:    

qq_43008315的博客 490

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

微服务基础知识

SOA 全称为 Service-Oriented Architecture,即⾯向服务的架构。它可以根据需求通过⽹络对松散耦合的粗粒度应⽤组件(服务)进⾏分布式部署、组合和使⽤。⼀个服务通常以独⽴的形式存在于操作系统进程中。站在功能的⻆度,把业务逻辑抽象成可复⽤、可组装的服务,通过服务的编排实现业务的快速再⽣,⽬的:把原先固有的业务功能转变为通⽤的业务服务,实现业务逻辑的快速复⽤。服务注册:服务实例将⾃身服务信息注册到注册中⼼。这部分服务信息包括服务所在主机IP和。

m0_64481525的博客 1000

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

微服务架构强化的实时通信

本文讲的是微服务架构强化的实时通信【编者的话】本文探讨了微服务架构模式是如何强化实时通信的,比如数据同步、动态RPC、发布/订阅消息传递、许可信息等以及相关的框架。一个强大的后端支撑可以产生更加动态、可扩展和易于管理的部署策略,它可以用于实时通信和协作。前不久,这篇文章已经开始了一个关于微服务的盛大宣言:化整为零!分而治之!“......企业IT架构师知...

weixin_33777877的博客 189

ZeroC Ice Ice Registry实现负载均衡

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

jerome 4006

ICE中间件环境搭建

前言 本次搭建ICE中间件的环境对我来说还是比较艰辛的,一来是没有听过ICE中间件,连个初学者都算 不上,二来网上关于ICE的环境搭建少之又少,而且很多都是java的,而我需要搭建的是C++相关的。 不过好在功夫不负有心人,经过不断的琢磨,总算是把环境搭建好了并且运行demo,测试结果也符合预期。正好有时间,所以就把整个过程记录一下,也算是自己的一个小总结,也可以给正要搭建ICE环境的朋友们一个参...

weixin_43055404的博客 1919

五、ICE服务——注册中心与代理服务、ice客户端(注册中心配置与版本号)ice服务端(服务发布与版本号)注意事项、相关问题

注册中心与代理服务 ice客户端(注册中心配置与版本号) ice服务端(服务发布与版本号) 注意事项、相关问题

tj的博客 3778
上一篇: 开博了
下一篇: hehe
webwindy
博客等级 码龄20年 3粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值