企业网站的职能主要有建行

张小明 2025/12/23 4:53:29
企业网站的职能主要有,建行,昆明优化官网服务,温州网站优化关键词LocalGrainDirectory 详解 LocalGrainDirectory是Orleans分布式系统中负责本地Grain目录管理的核心组件#xff0c;它实现了分布式哈希表(DHT)风格的Grain定位服务。 类图 #mermaid-svg-Y9v3byHPfAfBrOZm {font-family:trebuchet ms,verdana,arial,sans-serif;fon…LocalGrainDirectory 详解LocalGrainDirectory是Orleans分布式系统中负责本地Grain目录管理的核心组件它实现了分布式哈希表(DHT)风格的Grain定位服务。类图LocalGrainDirectory-ILogger log-SiloAddress? seed-ISiloStatusOracle siloStatusOracle-IInternalGrainFactory grainFactory-object writeLock-IServiceProvider _serviceProvider-DirectoryMembership directoryMembership-bool Running-Catalog? _catalogSiloAddress MyAddressIGrainDirectoryCache DirectoryCacheLocalGrainDirectoryPartition DirectoryPartitionRemoteGrainDirectory RemoteGrainDirectoryRemoteGrainDirectory CacheValidatorGrainDirectoryHandoffManager HandoffManagerStart() : voidStopAsync() : TaskSiloStatusChangeNotification(SiloAddress, SiloStatus) : voidRegisterAsync(GrainAddress, int) : TaskAddressAndTagUnregisterAsync(GrainAddress, UnregistrationCause, int) : TaskLookupAsync(GrainId, int) : TaskAddressAndTagLocalLookup(GrainId, out AddressAndTag) : boolCalculateGrainDirectoryPartition(GrainId)«interface»ILocalGrainDirectoryStart() : voidStopAsync() : TaskRegisterAsync(GrainAddress, int) : TaskAddressAndTagUnregisterAsync(GrainAddress, UnregistrationCause, int) : TaskLookupAsync(GrainId, int) : TaskAddressAndTagLocalLookup(GrainId, out AddressAndTag) : bool«interface»ISiloStatusListenerSiloStatusChangeNotification(SiloAddress, SiloStatus) : void«interface»ILifecycleParticipantISiloLifecycleParticipate(ISiloLifecycle) : voidLocalGrainDirectoryPartitionAddSingleActivation(GrainAddress, GrainAddress?) : AddressAndTagRemoveActivation(GrainId, ActivationId, UnregistrationCause) : voidLookUpActivation(GrainId) : AddressAndTagGetItems()«interface»IGrainDirectoryCacheAddOrUpdate(GrainAddress, int) : voidLookUp(GrainId, out GrainAddress) : boolRemove(GrainId) : boolKeyValues IEnumerable~(GrainAddress, int)协作图ClientLocalGrainDirectoryLocalGrainDirectoryPartitionDirectoryCacheRemoteGrainDirectorySiloStatusOracleGrain注册流程RegisterAsync(grainAddress, hopCount)CalculateGrainDirectoryPartition(grainId)AddSingleActivation(address, previousAddress)AddressAndTag resultAddOrUpdate(result.Address, result.VersionTag)返回注册结果RegisterAsync(address, previousAddress, hopCount1)AddressAndTag resultAddOrUpdate(result.Address, result.VersionTag)返回注册结果alt[当前Silo是Owner][需要转发到其他Silo]Grain查找流程LookupAsync(grainId, hopCount)LookUp(grainId, out address)返回缓存地址返回查找结果CalculateGrainDirectoryPartition(grainId)LookUpActivation(grainId)AddressAndTag result返回查找结果LookupAsync(grainId, hopCount1)AddressAndTag resultAddOrUpdate(result.Address, result.VersionTag)返回查找结果alt[当前Silo是Owner][需要转发到其他Silo]alt[缓存命中且Silo有效][缓存未命中或无效]Silo状态变化处理SiloStatusChangeNotification(updatedSilo, status)AddServer(updatedSilo)AdjustLocalDirectory(silo, dead: false)AdjustLocalCache(silo, dead: false)RemoveServer(updatedSilo, status)AdjustLocalDirectory(silo, dead: true)AdjustLocalCache(silo, dead: true)alt[Silo变为Active状态][Silo变为Terminating状态]ClientLocalGrainDirectoryLocalGrainDirectoryPartitionDirectoryCacheRemoteGrainDirectorySiloStatusOracle核心功能详解1. 分布式哈希表(DHT)分区算法LocalGrainDirectory使用一致性哈希算法来确定每个Grain的目录分区所有者publicSiloAddress?CalculateGrainDirectoryPartition(GrainIdgrainId){inthashunchecked((int)grainId.GetUniformHashCode());// 在排序的Silo列表中查找第一个哈希值小于等于目标哈希的Silofor(varindexexisting.MembershipRingList.Count-1;index0;--index){varitemexisting.MembershipRingList[index];if(IsSiloNextInTheRing(item,hash,excludeMySelf)){returnitem;}}}2. 请求转发机制当当前Silo不是Grain的目录所有者时会进行请求转发publicSiloAddress?CheckIfShouldForward(GrainIdgrainId,inthopCount,stringoperationDescription){varownerCalculateGrainDirectoryPartition(grainId);if(ownerisnull||owner.Equals(MyAddress))returnnull;if(hopCountHOP_LIMIT)// 跳数限制为6thrownewOrleansException($Hop limit reached);returnowner;// 转发到目标Silo}3. 缓存管理LocalGrainDirectory维护本地缓存以提高查找性能publicboolLocalLookup(GrainIdgrain,outAddressAndTagresult){// 首先检查缓存varaddressGetLocalCacheData(grain);if(address!default){resultnew(address,0);returntrue;}// 如果是本地分区检查本地目录if(silo.Equals(MyAddress)){resultGetLocalDirectoryData(grain);returnresult.Address!null;}returnfalse;}4. 集群成员变化处理LocalGrainDirectory监听Silo状态变化并相应调整目录和缓存publicvoidSiloStatusChangeNotification(SiloAddressupdatedSilo,SiloStatusstatus){if(status.IsTerminating()){CacheValidator.WorkItemGroup.QueueAction(()RemoveServer(updatedSilo,status));}elseif(statusSiloStatus.Active){CacheValidator.WorkItemGroup.QueueAction(()AddServer(updatedSilo));}}关键设计特点线程安全使用writeLock对象确保目录操作的线程安全容错性支持Silo故障时的目录分区重新分配性能优化本地缓存减少远程查找开销可扩展性支持动态集群成员变化一致性确保目录信息在集群中的一致性LocalGrainDirectory是Orleans分布式系统的核心组件它通过分布式哈希表算法实现了高效的Grain定位服务为整个系统的可扩展性和可靠性提供了基础支撑。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设学生选课系统设计wordpress添加浮动小人

第一章:MCP DP-420图Agent性能调优概述在现代分布式系统中,MCP DP-420图Agent作为关键的数据采集与处理组件,其性能直接影响整体系统的响应速度与稳定性。针对该Agent的性能调优,不仅需要关注资源利用率,还需深入分析数…

张小明 2025/12/22 11:22:47 网站建设

app 网站 区别南山网站设计多少钱

深入理解 Linux 信号处理机制 在 Linux 系统编程中,信号是一种重要的进程间通信(IPC)机制,用于内核与用户进程之间的通信以及进程间的交互。然而,信号处理在实际应用中存在一些挑战,需要开发者深入理解和掌握其相关机制。本文将详细介绍 Linux 中信号的阻塞、挂起信号的…

张小明 2025/12/22 11:22:55 网站建设

常见的网站结构有哪些网络推广运营团队

近年来,期货行业紧扣服务实体经济核心使命,以创新业务拓展服务边界,持续提升服务效能。南华期货股份有限公司(以下简称“南华期货”;股票代码:603093.SH)积极响应国家战略,连续三年发…

张小明 2025/12/22 11:23:00 网站建设

广东省城乡建设厅网站食品 药品 监督 网站 源码 php

Langchain-Chatchat HTTPS加密部署:Let’s Encrypt证书申请全流程 在企业逐步将大语言模型(LLM)引入内部知识管理系统的今天,Langchain-Chatchat 这类支持本地文档解析与私有化部署的开源问答系统,正成为数据安全与智能…

张小明 2025/12/22 11:23:21 网站建设

我的网站域名校园网站的建设作用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请基于MT3608升压芯片设计一个5V输入、12V/2A输出的升压电路,要求包含:1)完整的原理图设计;2)关键元件选型建议;3)PCB布局注意事项&a…

张小明 2025/12/22 0:39:25 网站建设

凡诺企业网站管理系统做网站就是做服务

温州商学院本科毕业设计(论文)外文翻译毕业设计(论文)题目:姓 名学 号指导教师班 级19计算机本*原文题目:《Analitical Algoritms for Environment Monitoring in the Sales Management System of an Or…

张小明 2025/12/20 21:49:48 网站建设