title: zookeeper特性与节点介绍date: 2021-09-22 22:43:51tags: 分布式框架 categories: zookeeper 1 产生背景 单体向分布式服务转变,会产生多个节点间协同问题,如: 假设有3个节点,1个job,该job该由哪个节点执行? 若该job由节点1执行,要是1挂了,现在该2还是3执行? 上游和下游服务的发现,如: 上
数据库实现分布式锁
1 什么是分布式锁 在单体的应用开发场景中涉及并发同步的时候,大家往往采用Synchronized(同步)或者其他同一个JVM内Lock机制来解决多线程间的同步问题。 在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题,这种跨机器的锁就是分布式锁 2 基于数据库实现分布式锁基于数据库实现分布式锁主要是利用数据库的唯一索引来实现,唯一索引天然具有排他性,
Redis缓存问题
1 缓存穿透1.1 定义缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 1.2 产生原因 自身业务代码或者数据出现问题。 一些恶意攻击、 爬虫等造成大量空命中。 1.3 解决方案1.3.1 缓存空对象123456789101112131415161718String get(String key
Redis集群三种方式
为什么要有集群 单个Redis存在不稳定性,当Redis服务宕机或硬盘故障,系统崩溃之后,就没有可用的服务了,还会造成数据的丢失 单个Redis的读写能力也是有限的 还由于互联网的三高架构,高并发,高性能,高可用 通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定,高效的状态 Redis集群的三种模式1. 主从模式产生的原因 避免单点Redis服务器故障。数据丢失,可能对业务造成
redis持久化
redis 持久化主要有2种方式:RDB 和AOF RDB快照什么是RDB快照 rdb就是快照,是redis默认的持久化方式,就是把所有的数据持久化到磁盘,隔一段时间持久化一次到 dump.rdb 的二进制文件中,在服务器重启后只需要把文件中的数据恢复即可。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。 比如说, sa
redis常见面试题
redis是一个高性能的key-value 数据库,它可以用来存储字符串,哈希,列表,集合,有序集合。 1. redis常见数据结构1 StringString 是redis中最基础的数据结构,主要用在常规计数,如:统计网站访问数据量,当前在线人数等 1.应用场景1 单值缓存1127.0.0.1:6379> set key1 "zhangsan" 2 计数器1127
第一个SpringBoot项目
编写代码 进入官网 Spring Initializr 初始化项目 编写控制HelloController 12345678910111213package com.pyr.spring.cloud.weather.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springf
mysql锁
锁是什么? 锁是计算机协调多个线程或进程并发访问同一资源的机制。 在数据库中,数据是一种共享的资源,因此也需要保证数据并发访问的一致性和有效性。 锁的分类 从性能上来分为:乐观锁和悲观锁 乐观锁:每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。 乐观锁一般通过版本比对的方式来实现的: 当读取数据时,将version字段的值