leeveel/GeekServer

ActorID定义询问

wuhuolong opened this issue · 2 comments

/// <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不会冲突,请问这方面有什么技巧

ID类型仅仅是id的一部分,多个服务器运行时生成ID不会冲突,看下ActorId.GetActorId方法