首页 > 其他分享 >分布式专题 - Dubbo + Zookeeper

分布式专题 - Dubbo + Zookeeper

时间:2023-02-12 18:33:52浏览次数:42  
标签:Dubbo 数据库 Zookeeper 获取 失败 注册 ID 分布式

雪花算法的原理

第一位符号位固定为0,41位时间戳,10位workld,12位序列号,位数可以有不同实现
优点:

每个毫秒值包含的ID值很多,不够可以变动位数来增加,性能佳 (依赖workld的实现)。.时间戳值在高位,中间是固定的机器码,自增的序列在低位,整个ID是趋势递增的。0能够根据业务场景数据库节点布置灵活调整bit位划分,灵活度高。

缺点:
强依赖于机器时钟,如果时钟回拔,会导致重复的ID生成,所以一般基于此的算法发现时钟回拨,都会抛异常.
处理,阻止ID生成,这可能导致服务不可用。

为什么Zookeeper可以用来作为注册中心

可以利用Zookeeper的临时节点和watch机制来实现注册中心的自动注册和发现,另外Zookeeper中的数据都是存在内存中的,并且Zookeeper底层采用了nio,多线程模型,所以Zokeeper的性能也是比较高的,所以可以用来作为注册中心,但是如果考虑到注册中心应该是注册可用性的话,那么Zookeeper则不太合适,因为Zookeeper是CP的,它注重的是一致性,所以集群数据不-致时,集群将不可用,所以用Redis、Eureka、Nacos来作为注册中心将更合适。

数据库实现分布式锁的问题及解决方案

利用唯一约束键存储key,insert成功则代表获取锁成功,失败则获取失败,操作完成需要删除锁问题:
非阻塞,锁获取失败后没有排队机制,需要自己编码实现阻塞,可以使用自旋,直到获取锁;
不可重入,如果加锁的方法需要递归,则第二次插入会失败,可以使用记录线程标识解决重入问题;
死锁,删除锁失败、则其他线程没办法获取锁,可以设置超时时间、使用定时任务检查.
数据库单点故障,数据库高可用。

标签:Dubbo,数据库,Zookeeper,获取,失败,注册,ID,分布式
From: https://www.cnblogs.com/zhf123/p/17114398.html

相关文章

  • Redis(十五)——实现分布式锁
    1、基于set命令的分布式锁加锁:使用setnx进行加锁,该指令返回1时,加锁成功。解锁:使用del释放,以便其他线程可以继续获取锁存在问题:A线程获取锁后还没释放就挂了,死锁。解决......
  • [16] Zookeeper-源码2
    1.ZkServer选举源码1.1选举准备QuorumPeer@Overridepublicsynchronizedvoidstart(){if(!getView().containsKey(myid)){thrownewRuntimeEx......
  • [14] Zookeeper-集群操作
    1.集群部署1.1集群安装(1)集群规划在hadoop102、hadoop103和hadoop104三个节点上都部署Zookeeper。(2)解压安装在hadoop102解压Zookeeper安装包到/opt/module......
  • [13] Zookeeper-QuickStart
    1.概述Zookeeper是一个开源的分布式的、为分布式框架提供协调服务的Apache项目。1.1工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服......
  • 学习笔记——尚好房:Apache Dubbo
    2023-02-12 一、分布式RPC框架ApacheDubbo1、软件架构的演进过程单体架构、垂直架构、SOA架构到微服务架构的演进过程2、单体架构(1)含义:全部功能集中在一个项目内......
  • redis实现分布式锁(包含代码以及分析利弊)
    redis实现分布式锁(基础版)使用redis实现分布式锁的方法有多种,基础版本是基于setnx命令,即如果不存在则设置。这个命令可以保证只有一个客户端能够成功设置一个key,从而获得锁......
  • 88、商城业务---认证服务---分布式session解决方案原理
    ......
  • zookeeper 部署
    官网:https://zookeeper.apache.org/download             下载完成后赋值文件到centos /opt/software  单机部署解压到/opt/mod......
  • 87、商城业务---认证服务---分布式session不共享不同步的问题
    session原理:但是session只在当前域名生效,如下:我们的登录是在认证服务下,但是登录成功后又跳转到商品服务下(首页),他俩是不同域名的即使我们在同一个域名下,在分......
  • 分布式配置nacos搭建踩坑指南(下)
     上一篇介绍了在配置nacos中的碰到的坑,这一篇介绍一下如何正确进行nacos的环境搭建和配置,所以本文分为两部分,第一部分为环境搭建,介绍如何安装和运行。第二部分为alibaba......