feat: 1.2.0
1. 新增分布式id生成模块
This commit is contained in:
parent
aa4394ff0d
commit
a973892d6c
@ -0,0 +1,24 @@
|
||||
package com.aizuda.easy.retry.common.core.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* id生成模式
|
||||
*
|
||||
* @author www.byteblogs.com
|
||||
* @date 2023-05-04
|
||||
* @since 2.0
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum IdGeneratorMode {
|
||||
|
||||
SNOWFLAKE(1, "雪花算法模式"),
|
||||
SEGMENT(2,"号段模式");
|
||||
|
||||
private final int mode;
|
||||
|
||||
private final String desc;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.aizuda.easy.retry.server.support.generator;
|
||||
|
||||
/**
|
||||
* 分布式Id生成器
|
||||
*
|
||||
* @author www.byteblogs.com
|
||||
* @date 2023-05-04
|
||||
* @since 2.0
|
||||
*/
|
||||
public interface IdGenerator {
|
||||
|
||||
/**
|
||||
* 获取匹配的模式
|
||||
*
|
||||
* @param mode 1. 雪花算法(默认算法) 2.号段模式
|
||||
* @return
|
||||
*/
|
||||
boolean supports(int mode);
|
||||
|
||||
/**
|
||||
* 获取分布式id
|
||||
*
|
||||
* @param group 组
|
||||
* @return id
|
||||
*/
|
||||
String idGenerator(String group);
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.aizuda.easy.retry.server.support.generator.id;
|
||||
|
||||
import com.aizuda.easy.retry.common.core.enums.IdGeneratorMode;
|
||||
import com.aizuda.easy.retry.server.support.generator.IdGenerator;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 号段模式
|
||||
*
|
||||
* @author www.byteblogs.com
|
||||
* @date 2023-05-04
|
||||
* @since 2.0
|
||||
*/
|
||||
@Component
|
||||
public class SegmentIdGenerator implements IdGenerator {
|
||||
|
||||
@Override
|
||||
public boolean supports(int mode) {
|
||||
return IdGeneratorMode.SEGMENT.getMode() == mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String idGenerator(String group) {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.aizuda.easy.retry.server.support.generator.id;
|
||||
|
||||
import com.aizuda.easy.retry.common.core.enums.IdGeneratorMode;
|
||||
import com.aizuda.easy.retry.server.support.generator.IdGenerator;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 雪花算法
|
||||
*
|
||||
* @author www.byteblogs.com
|
||||
* @date 2023-05-04
|
||||
* @since 2.0
|
||||
*/
|
||||
@Component
|
||||
public class SnowflakeIdGenerator implements IdGenerator {
|
||||
|
||||
@Override
|
||||
public boolean supports(int mode) {
|
||||
return IdGeneratorMode.SNOWFLAKE.getMode() == mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String idGenerator(String group) {
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user