随笔 - 86  文章 - 0  评论 - 737  阅读 - 18万

『集群』005 Slithice 基于 集群 的 自动容错

Slithice 基于 集群 的 自动容错

 

Slithice容错概述:

Slithice 支持 非集群 的 独立服务端;

        支持 基于 中央服务器 的 集群服务端;

        支持 基于 自定义配置 的 集群服务端;

在容错方面, 独立服务端 不支持 容错:出现错误,就得不到正确结果;

             中央服务器 或 自定义配置 的 集群,是支持容错的:一台服务端执行异常,会自动转交 另外服务端 执行

—— 直到 所有可供调度的 服务端 全部错误,才会返回 错误信息;

 

自动容错原理:

在 《004 Slithice 集群分布式(多个客户端,基于中央服务器的多个集群服务端).doc》 中,

我们已经 见到了 基于 集群服务端 的调度,在此 不再多举案例;

 

比如,客户端 启动时,通过 配置获取方式(比如 中央服务器) 得到一个配置:

>Action_001 可以交由 Service_001、Service_002、Service_003,Service_004 四个服务端处理;

>Action_002 可以交由 Service_002、Service_003,Service_004 三个服务端处理;

>Action_003 可以交由 Service_002,Service_004 两个服务端处理;

 

 

>Service_001 通讯类型 Socket,调度概率 是 100

>Service_002通讯类型 Socket,调度概率 是 50

>Service_003通讯类型 WebService,调度概率 是 50

>Service_004通讯类型 WCF,调度概率 是 300

 

>但是 客户端 是 WinCE 平台,只支持 Socket,WebService 两种通讯方式;

>于是 客户端 就将 Service_004 最开始就 排除啦;

 

这时,客户端 需要 执行 Action_001 并得到 结果;

       >分析出 Service_001、Service_002、Service_003 都可以处理;

       >按照 调度概率 随机返回一个 服务端,比如说是 Service_002;

       >这时 Service_002 宕机,执行重试3次,最终确定 失败;

       >设置 Service_002 调度概率 为 49;

       >按照 调度概率 从 Service_001、Service_003 中 随机返回一个 服务端,比如说 Service_001;(Service_002 会被排除)

       >这时,Service_001 执行成功,返回结果 并设置 Service_001 的 调度概率 为 101;

 

然后,客户端 需要 执行 Action_003 并得到结果;

       >分析出 Service_002 只有一个服务端可以处理;

       >向 Service_002 调度,执行重试3次,最终确定 失败;

       >设置 Service_002 调度概率 为 48;

       >没有 其他 可供调度 的 服务端 —— 只有返回 执行错误;

 

集群容错效果:

最终,我们会发现:

       >不支持  通讯方式 的 服务端 初始化时 就会 被排除;

       >频繁错误的 服务端 的 调度概率 会 越来越小;

       >出现 执行错误时,任务 会被 自动交给 另外的 服务端 处理;

>同一个任务,已经执行 出错的 服务端 在 任务转交 时 会被排除;

       >只有 全部错误,才会 最终返回错误;

      

 

                                                                              舒小龙

                                                                        2014-01-29 13:34

posted on   InkFx  阅读(420)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示