码云 Gitee IDE 全新上线——支持 Git 管理的轻量在线编码环境
0 Watch 76 Star 246 Fork 106

李艳鹏 / vesta-id-generatorJavaApache-2.0

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
Vesta是一款通用的ID产生器,互联网俗称统一发号器,它具有全局唯一、粗略有序、可反解和可制造等特性,它支持三种发布模式:嵌入发布模式、中心服务器发布模式、REST发 布模式,根据业务的性能需求,它可以产生最大峰值型和最小粒度型两种类型的ID,它的实现架构使其具有高性能,高可用和可伸缩等互联网产品需要的质量属性,是一款通用的高性能的发号器产品。 https://github.com/cloudatee/vesta-id-generator
一键复制 编辑 Web IDE 原始数据 按行查看 历史
嵌入发布模式使用向导.md 3.98 KB
Robert Lee 提交于 2018-09-30 17:41 . change the doc name

嵌入发布模式使用向导

回到主页

使用中有任何问题和建议,请联系罗伯特,微信:13436881186

Vesta发号器的最简单也是最常用的发布模式为嵌入式发布模式,正如嵌入式发布模式的名字一样,它是将发号器服务嵌入到业务项目中,并且提供JVM进程内的本地服务,其效率最高,配置最简单,使用最方便的一种方法。


新项目使用向导

** 1. 创建示例Maven项目**

在Eclipse开发环境或者任何其他开发环境,创建一个Maven项目vesta-sample-embed

** 2. 增加依赖的嵌入模式的Jar包**

  • 如果你通过源代码方式安装Vesta的发布包到你的Maven私服,在Maven的pom文件中添加对Vesta发号器服务包的依赖。
	<dependency>
		<groupId>com.robert.vesta</groupId>
		<artifactId>vesta-service</artifactId>
		<version>0.0.1</version>
	</dependency>
- 如果你没有Maven私服,你可以点击下载依赖的Jar包,并且添加到当前项目的类路径中。

>[vesta-service-0.0.1.jar](../lib/vesta-service-0.0.1.jar)

** 3. 添加Vesta发号器的属性文件**

- 添加属性文件:

>**src/main/resources/spring/vesta-service.properties**

- 文件内容:

>``` bash
		vesta.machine=1
        vesta.genMethod=0
        vesta.type=0
  • 注意:

-- 这里,机器ID为1, 如果你有多台机器,递增机器ID,同一服务中机器ID不能重复。 -- 这里,生成方式genMethod为0表示使用嵌入发布模式 -- 这里,type为0, 表示最大峰值型,如果想要使用最小粒度型,则设置为1

** 4. 添加Vesta发号器的Spring环境文件**

  • 添加Spring环境文件:

src/main/resources/spring/vesta-service-sample.xml

  • 文件内容:

** 5. 编写Java类取得发号器服务并调用服务**

>``` java
package org.vesta.sample.embed;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.robert.vesta.service.bean.Id;
import com.robert.vesta.service.intf.IdService;
public class EmbedSample {
	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext(
				"spring/vesta-service-sample.xml");
		IdService idService = (IdService) ac.getBean("idService");
        // 从这里调用服务
		long id = idService.genId();
		Id ido = idService.explainId(id);
        // 输出
		System.out.println(id + ":" + ido);
	}
}

** 6. 程序输出**

  • 输出

1138565321850880:[seq=0,time=12078681,machine=1,genMethod=0,type=0,version=0]

  • 这里,冒号前面是生成的ID,后面中括号显示的是反解的ID的组成部分的数值。

已存项目集成向导

  1. 从上面的示例,我们看到,Vesta发号器的服务是通过Spring环境导出的,像其他主流项目一样,如果你的项目中同样使用Spring环境,你只需在你的Spring环境中导入Vesta服务的IdService的Bean即可。
```
  1. 同时,在你Spring环境使用的属性文件中增加机器ID的配置即可。

vesta.machine=1

## 示例代码下载

>[vesta-sample-embed-0.0.1-sources.jar](../src/vesta-sample-embed-0.0.1-sources.jar)

评论 ( 0 )

你可以在登录后,发表评论

搜索帮助