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