ActorID定义询问
wuhuolong opened this issue · 2 comments
wuhuolong commented
/// <summary>
/// 范围约定[为配合ActorID进行ID规则运算,请严格遵循该规则]
/// [此ID规则完全足够使用,当然你可以制定你自己规则]
///
/// Actor类型有三种:
/// 1.ID全服唯一类型 [0,127] [生成的ID合服之后也要保持唯一,这种理论上不会太多(角色,公会,一般为数据库的key),预留了128种类型]
/// 2.ID仅需要单服唯一的Actor类型 [GeekServer为了方便统一使用了0-127这个范围,可自己根据情况调整]
/// 3.ID固定,每个服只会有一个的Actor类型 [129, 999] [这种ActorID会通过固定的规则生成serverId*1000 + actortype]
/// 非Actor类型的ID可以使用IdGenerator
/// </summary>
我是不是可以认为只有两种,一种是合服后保持不变,一种是跟随服务器id变化,上文提及的第二点其实是第三点,后方中阔号是说的第一点。
对第一种合服保持不变的,是不是要对数据库进行处理,保证多个服务器运行时生成ID不会冲突,请问这方面有什么技巧
JNUMrC commented
关于ActorId,我推荐选择一种分布式唯一的算法
…------------------ 原始邮件 ------------------
发件人: "leeveel/GeekServer" ***@***.***>;
发送时间: 2022年1月27日(星期四) 下午2:17
***@***.***>;
***@***.***>;
主题: [leeveel/GeekServer] ActorID定义询问 (Issue #2)
/// <summary> /// 范围约定[为配合ActorID进行ID规则运算,请严格遵循该规则] /// [此ID规则完全足够使用,当然你可以制定你自己规则] /// /// Actor类型有三种: /// 1.ID全服唯一类型 [0,127] [生成的ID合服之后也要保持唯一,这种理论上不会太多(角色,公会,一般为数据库的key),预留了128种类型] /// 2.ID仅需要单服唯一的Actor类型 [GeekServer为了方便统一使用了0-127这个范围,可自己根据情况调整] /// 3.ID固定,每个服只会有一个的Actor类型 [129, 999] [这种ActorID会通过固定的规则生成serverId*1000 + actortype] /// 非Actor类型的ID可以使用IdGenerator /// </summary> 我是不是可以认为只有两种,一种是合服后保持不变,一种是跟随服务器id变化,上文提及的第二点其实是第三点,后方中阔号是说的第一点。
对第一种合服保持不变的,是不是要对数据库进行处理,保证多个服务器运行时生成ID不会冲突,请问这方面有什么技巧
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
leeveel commented
ID类型仅仅是id的一部分,多个服务器运行时生成ID不会冲突,看下ActorId.GetActorId方法