内容简介:软件地址: 分布式序列号生成组件1.2更新啦,项目地址:https://gitee.com/xuan698400/xsequence 介绍说明: 微服务时代,我们需要生产一个连续的序列号,变得比较麻烦。 这里使用了Mysql实现了一个简单的分布式序...
软件地址:
分布式序列号生成组件1.2更新啦,项目地址:https://gitee.com/xuan698400/xsequence
介绍说明:
微服务时代,我们需要生产一个连续的序列号,变得比较麻烦。 这里使用了 Mysql 实现了一个简单的分布式序列号生成组件。后续还可以支持 redis 等其他高效中间件。 当然还有一种叫雪花算法的序列号生成器,这种算法有个缺点就是长度太长,不是真正意义的从1开始累加序列。 当然秉着包容万象的心态,后续可以实现进去,让用户自己根据特定场景选择算法。幸运的是1.2版本这3钟都支持了。
版本说明:
V1.0时代
支持DB方式生成序列号,使用说明文章:https://my.oschina.net/u/1271235/blog/1808103
更新时间:2018/05/07
------------------------------------------------------------------------------
V1.1时代
支持Redis方式生成序列号,使用说明文章:https://my.oschina.net/u/1271235/blog/1809437
更新时间:2018/05/09
------------------------------------------------------------------------------
V1.2时代
支持雪花算法方式生成序列号,使用说明文章:https://my.oschina.net/u/1271235/blog/1812305
更新时间:2018/05/14
使用教程:
(1)API使用方式
public class SnowflakeTest_Api {
private Sequence userSeq;
@Before
public void setup() {
SnowflakeSequence snowflakeSequence = new SnowflakeSequence();
snowflakeSequence.setDatacenterId(1);
snowflakeSequence.setWorkerId(2);
userSeq = snowflakeSequence;
}
@Test
public void test() {
long start = System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
System.out.println("++++++++++id:" + userSeq.nextValue());
}
System.out.println("interval time:" + (System.currentTimeMillis() - start));
}
}(2)Spring使用方式
xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd" default-autowire="byName" default-lazy-init="false"> <!-- 具体使用demo --> <bean id="userSeq" class="com.xuanner.seq.sequence.impl.SnowflakeSequence"> <property name="workerId" value="1"/> <property name="datacenterId" value="2"/> </bean> </beans>
代码使用
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:snowflake-test.xml" })
public class SnowflakeTest_Spring {
@Autowired
private Sequence userSeq;
@Test
public void test() {
for (int i = 0; i < 1000; i++) {
System.out.println("++++++++++id:" + userSeq.nextValue());
}
}
}【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- xsequence 分布式序列号生成组件 1.3 发布
- xsequence 1.4 发布,分布式序列号生成组件
- xsequence 1.5 发布,分布式序列号生成组件
- xsequence 1.6 发布,分布式序列号生成组件
- 微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)
- TCP 协议可靠性是如何保证:滑动窗口,超时重发,序列号确认应答信号
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
TCP/IP网络管理
亨特 / 电子工业 / 2006年3月1日 / 79.00元
本书是一本架设与维护TCP/IP网络的完整指南,无论你是在职的系统管理员,还是需要访问Internet的家用系统用户,都可从本书获得帮助。本书还讨论了高级路由协议(RIPv2、OSPF、BGP),以及实现这些协议的gated软件。对于各种重要的网络服务,如DNS,Apache,sendmail,Samba,PPP和DHCP,本书都提供了配置范例,以及相关的软件包与工具的语法参考。一起来看看 《TCP/IP网络管理》 这本书的介绍吧!