当前位置: 首页 > news >正文

微网站开发需要多少钱企业网站建设优化

微网站开发需要多少钱,企业网站建设优化,市场调研公司是做什么的,网站的源码1. 分布式ID生成器的使用场景 在分布式系统中,分布式ID生成器的使用场景非常之多: 大量的数据记录,需要分布式ID。大量的系统消息,需要分布式ID。大量的请求日志,如restful的操作记录,需要唯一标识&#x…

1. 分布式ID生成器的使用场景

        在分布式系统中,分布式ID生成器的使用场景非常之多

  • 大量的数据记录,需要分布式ID。
  • 大量的系统消息,需要分布式ID。
  • 大量的请求日志,如restful的操作记录,需要唯一标识,以便进行后续的用户行为分析和调用链路分析。
  • 分布式节点的命名服务,往往也需要分布式ID。
  • ......

        传统的数据库自增主键已经不能满足需求。在分布式系统环境中,需要一种全新的唯一ID系统,这种系统需要满足以下需求:

(1)全局唯一:不能出现重复ID。

(2)高可用:ID生成系统是基础系统,被许多关键系统调用,一旦宕机,就会造成严重影响。

2. 分布式的ID生成器方案

        生成分布式ID的方案有哪些呢? 大概有以下几种方案

  • Java的UUID。
  • 分布式缓存Redis生成ID:利用Redis的原子操作INCR和INCRBY,生成全局唯一的ID。
  • Twitter的SnowFlake算法。
  • ZooKeeper生成ID:利用ZooKeeper的顺序节点,生成全局唯一的ID。
  • MongoDb的ObjectId:MongoDB是一个分布式的非结构化NoSQL数据库,每插入一条记录会自动生成全局唯一的一个“_id”字段值,它是一个12字节的字符串,可以作为分布式系统中全局唯一的ID。

3. Zookeeper实现分布式ID生成器

        接下来,我们可以通过创建ZooKeeper的临时顺序节点的方法,生成全局唯一的ID。

代码:

public class IDMaker {private final static  String CLUSTER_CONNECT_STR="192.168.31.5:2181,192.168.31.176:2181,192.168.31.232:2181";private static String createSeqNode(String pathPefix,CuratorFramework curatorFramework) throws Exception {//创建一个临时顺序节点String destPath = curatorFramework.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL_SEQUENTIAL).forPath(pathPefix);return destPath;}public static String  makeId(String path,CuratorFramework curatorFramework) throws Exception {String str = createSeqNode(path,curatorFramework);if(null != str){//获取末尾的序号int index = str.lastIndexOf(path);if(index>=0){index+=path.length();return index<=str.length() ? str.substring(index):"";}}return str;}public static void main(String[] args) throws InterruptedException {//构建客户端实例CuratorFramework curatorFramework= CuratorFrameworkFactory.builder().connectString(CLUSTER_CONNECT_STR).retryPolicy(new ExponentialBackoffRetry(1000,3)) // 设置重试策略.build();//启动客户端curatorFramework.start();String pathPrefix = "/idmarker/id-";//模拟5个线程创建idfor(int i=0;i<5;i++){new Thread(()->{for (int j=0;j<10;j++){String id = null;try {id = makeId(pathPrefix,curatorFramework);System.out.println("线程{"+Thread.currentThread().getName()+"}第{"+j+"}次创建id为{"+id+"}");} catch (Exception e) {e.printStackTrace();}}},"thread"+i).start();}Thread.sleep(Integer.MAX_VALUE);}}

运行main方法:运行结果

http://www.zhongyajixie.com/news/44018.html

相关文章:

  • 建设银行短信开通网站百度应用商店app下载
  • 如何加盟网站建设seo关键字优化软件
  • 公司网站制作注意事项seo关键词优化如何
  • 网站可以个人做吗东方网络律师团队
  • 深网站建设数据分析师资格证书怎么考
  • 网站建设要哪些人it培训班真的有用吗
  • 有没有专门学做婴儿衣服的网站系统优化app最新版
  • 网站建设源码是什么seo排名技术教程
  • 广州做网站公司电话seo优化是怎么回事呢
  • 吉林省建设信息网站网络企业推广
  • 产品设计师网站做网站
  • 郑州网站建设没效果百度商家平台
  • 做可直接下单购买的网站好用的磁力搜索引擎
  • 直播类型网站开发如何交换友情链接
  • wordpress 公式编辑器合肥seo排名优化公司
  • 什么是手机网站百度品牌广告是什么
  • 网站建设费是什么安卓优化大师官网
  • 做相册本哪个网站好用seo关键词排名网络公司
  • 网站建设的完整流程包括凡科建站登录入口
  • 代理网关seo的基本步骤顺序正确的是
  • 用花生壳免费域名做公司网站网络营销方式
  • 如何上传织梦做的网站百度引擎搜索入口
  • 网站备案期seo视频教程汇总
  • 微商城手机网站制作公司网站设计师
  • 北海做网站网站建设新闻媒体发稿平台
  • 3合一网站怎么做优化网站制作方法大全
  • 淄博桓台网站建设公司百度账户托管
  • 西城区好的网站建设多少钱螺蛳粉的软文推广
  • dw可以做有后台的网站么?seo技术培训班
  • 尊园地产做的网站武汉seo排名优化