初识专业的分布式多场景发号器Vesta

点击Vesta进入我们的项目主页,获得更多信息和内容。

发号器

Vesta发号器是一个通用的发号器,它不但可以嵌入在原生Java程序中,还可以作为Restful服务进行发布,你只需要简单的几个步骤就可以成功搭建Vesta的Rest服务,并且在任何语言中都可以使用HTTP协议来获取全局唯一的ID。


安装与启动

  1. 打包最新版本的REST发布模式的发布包。

下载Vesta源码,

在根目录下执行命令。

./make-release.sh

在target目录找到vesta-rest-netty-0.0.1-bin.tar.gz。

  1. 解压发布包到任意目录。

tar xzvf vesta-rest-netty-0.0.1-bin.tar.gz

  1. 解压后更改属性文件。
  • 属性文件:

vesta-rest-netty-0.0.1/conf/vesta-rest-netty.properties

  • 文件内容:

vesta.machine=1022 vesta.genMethod=2 vesta.type=0

  • 这里,机器ID为1022, 如果你有多台机器,递减机器ID,同一服务中机器ID不能重复。
  • 这里,genMethod为2表示使用嵌入发布模式
  • 这里,type为0, 表示最大峰值型,如果想要使用最小粒度型,则设置为1
  1. REST发布模式的默认端口为8088,你可以通过更改启动文件来更改端口号,这里以10010为例。
  • 启动文件:

vesta-rest-netty/target/vesta-rest-netty-0.0.1/bin/server.sh

  • 文件内容:

port=10010

  1. 修改启动脚本,并且赋予执行权限。
  • 进入目录:

cd vesta-rest-netty-0.0.1/bin

  • 执行命令:

chmod 755 *

  1. 启动服务。
  • 进入目录:

cd vesta-rest-netty-0.0.1/bin

  • 执行命令:

./start.sh

  1. 如果看到如下消息,服务启动成功。

apppath: /home/robert/vesta/vesta-rest-netty-0.0.1 Vesta Rest Netty Server is started.

测试Rest服务

  1. 通过URL访问产生一个ID。
  • 命令:

curl http://localhost:10010/genid

  • 结果:

1138729511026688

  1. 把产生的ID进行反解。
  • 命令:

curl http://localhost:10010/expid?id=1138729511026688

  • 结果:

{"genMethod":0,"machine":1,"seq":0,"time":12235264,"type":0,"version":0}

JSON字符串显示的是反解的ID的各个组成部分的数值。

  1. 对产生的日期进行反解
  • 命令:

curl http://localhost:10010/transtime?time=12235264

  • 结果:

Fri May 22 14:41:04 CST 2015

  1. 使用反解的数据伪造ID。
  • 命令:

http://localhost:8080/makeid?machine=1021&seq=0&time=94990103&genMethod=2&type=0&version=0

  • 结果:

2305844108284681216

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Web项目聚集地

Linux养成计划(一)

这篇文章介绍关于Linux系统的安装以及网络配置,关于虚拟机配置中网络的三个模式区别进行详细讲解。学习Linux对于后端开发人员是很有必要的,结合实际开发,Li...

772
来自专栏杨建荣的学习笔记

搭建知识库xwiki

之前自己使用Django admin和suit完成了初步的个人知识库管理,基本完成了我自己的浏览器标签库和微信公众号的统一管理,但是有一个问题,那就是目前我只能...

3885
来自专栏张善友的专栏

系统监控工具 Tsar

Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx、swift等),收集到的数...

1786
来自专栏跟着阿笨一起玩NET

WinForm通用自动更新器AutoUpdater项目实战

3.3、问:WinForm通用自动更新器AutoUpdater是以什么方式进行文件下载的呢?

812
来自专栏kangvcar

Git - 如何修改开源项目并推送给作者 / 克隆远程仓库到本地

1072
来自专栏Ryan Miao

在centos7中添加一个新用户,并授权

前言 笔记本装了一个centos,想要让别人也可以登录访问,用自己的账号确实不太好,于是准备新建一个用户给他。 创建新用户 创建一个用户名为:zhangbiao...

2838
来自专栏python3

gitlab10服务器搭建

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

672
来自专栏weixuqin 的专栏

Maven配置与安装

首先在 maven 官网下载 maven 压缩包:https://maven.apache.org/download.cgi 。

721
来自专栏实战docker

rancher下的kubernetes之二:安装rancher和kubernetes

在上一章《 rancher下的kubernetes之一:构建标准化vmware镜像》,我们做了个通用的虚拟机镜像,可以root登录,apt已经更新,docker...

30110
来自专栏刺客博客

Shell把rm改造为mv操作(防止误删文件)

1852

扫码关注云+社区