中间件 十月 21, 2022

zookeeper(四) 使用

文章字数 611 阅读约需 1 mins.

  • 六十花甲纳音歌

  • 十天干所属

  • 十二地支所属

  • 五行相生相克

  • 六亲相生相克

  • 天干地址八卦方位图

    • 先天八卦
    • 后天八卦
  • 天干相合

  • 地支相合

  • 五行次序

  • 八卦次序

  • 八宫所属

  • 以钱代蓍法...

查看全文

中间件 十月 21, 2022

zookeeper(一) 概述

文章字数 5.6k 阅读约需 5 mins.

zookeeper是一种分布式应用程序的分布式协调服务,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

zookeeper设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。

zookeeper将数据保存在内存中,保证了高吞吐与低延迟,同时Zk规定节点的数据大小不能超过1M,我们实际使用时节点存储的数据...

查看全文

中间件 十月 21, 2022

zookeeper(二) 安装

文章字数 11k 阅读约需 10 mins.

下载镜像

# 默认拉取最新的版本,如要指定版本 zookeeeper:版本号
docker pull zookeeper

创建并运行容器

docker run --name zookeeper -e JAMFLAGS="-Xmx256m" -v /mysoft/zookeeper/data/:/data/ -d -p 2181:2181 --privileged zookeeper

使用zk客户端创建节点

# 进入容器
docker exec -it acf2ec660c0e...
查看全文

中间件 十月 21, 2022

zookeeper(三) 协议

文章字数 9.1k 阅读约需 8 mins.

  1. 先启动node01
    • 会建立一个2888的服务端口与3888的选举端口。
    • 此时只有一个服务启动,所以没有其他关联。
  2. 再启动node02
    • 同样建立一个2888的服务端口与3888的选举端口。
    • 同时查找集群配置,发现能联通node1,并建立socket连接,将随机分配一个端口与node1的3888选举端口映射。
  3. 然后是node03
    • 同样建立一个2888的服务端口与3888的选举端口。
    • 查找集群配置,发现能联通node1与node2,并建立两条socket连接,随机分配端口与node1与node2...
查看全文

中间件 七月 10, 2022

redis (零) 安装

文章字数 30k 阅读约需 28 mins.

snap 安装方式

github地址redis-hashes 选择5.0的最新版本.5.0.14

单节点

# 1.下载安装包
wget http://download.redis.io/releases/redis-5.0.14.tar.gz
# 2.解压
tar -zxf redis-5.0.14.tar.gz
# 3.进入文件夹,可以查看readme.md来查看安装步骤与参数设置.
# make本质时读取makefile文件里的命令集,所以可以通过阅读具体的makefile来了解具体的安装...
查看全文

中间件 七月 10, 2022

redis (一) 概念

文章字数 6.3k 阅读约需 6 mins.

  • 磁盘

    • 寻址速度为毫秒ms级别
    • 带宽为G/M级别
    • 磁盘,磁道,扇区512Byte.
    • 操作系统中读多少都是以4K为最小单位.
  • 内存

    • 寻址速度为纳秒ns级别.
    • 带宽无太多限制

    数据库引擎网站 https://db-engines.com/en 可以查看排名与使用量.等信息

BIO,NIO知识

BIO

  1. 创建两个阻塞的socket连接.
  2. 两个client连接接入,发送了文件描述为fd8与fd9,应用分别开启俩个线程来读取文件描述符,获取状态.
  3. 当fd8连接的数据还未到达时,线程获取到cpu...
查看全文

中间件 七月 10, 2022

redis (二) 配置文件

文章字数 7.2k 阅读约需 7 mins.

# 绑定IP: 指定 redis 只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求
bind 127.0.0.1

# 保护模式: 只允许绑定的IP验证密码后访问.
# 要是配置里没有指定bind或密码, 开启该参数后,redis只会本地进行访问,拒绝外部访问。
# 如果想任意客户端都能访问需要关闭保护模式
protected-mode yes

# 服务端口号
port 6379

# 客户端空闲超时等待时间,0 则为不主动断开连接.
timeout 0

# 是否后台执行
deamonize...
查看全文

中间件 七月 10, 2022

redis (三) 数据类型即用法

文章字数 29k 阅读约需 27 mins.

  • REDIS_ENCODING_INT(long 类型的整数)
  • REDIS_ENCODING_EMBSTR embstr (编码的简单动态字符串)
  • REDIS_ENCODING_RAW (简单动态字符串)
  • REDIS_ENCODING_HT (字典)
  • REDIS_ENCODING_LINKEDLIST (双端链表)
  • REDIS_ENCODING_ZIPLIST (压缩列表)
  • REDIS_ENCODING_INTSET (整数集合)
  • REDIS_ENCODING_SKIPLIST (跳跃表和字典)...
查看全文

中间件 七月 10, 2022

redis (四) RDB&AOF日志

文章字数 4.3k 阅读约需 4 mins.

​ Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。

​ 为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。

​ 把当前 Redis 进程的数据生成时间点快照( point-in-time snapshot ) 保存到存储设备的过程,为redis默认持久化方式.

持久化简单过程

  1. 调用bgsave命令,父进程接收命令判断是否可持续...
查看全文

中间件 七月 10, 2022

redis (五) RDB日志详解

文章字数 27k 阅读约需 25 mins.

本文中的源码来自 Redis 5.0 ,RDB持久化过程的相关源码都在 rdb.c 文件中.

​ 上图表明了三种触发 RDB 持久化的手段之间的整体关系。通过 serverCron 自动触发的 RDB 相当于直接调用了 bgsave 指令的流程进行处理。而 bgsave 的处理流程启动子进程后,调用了 save 指令的处理流程。

serverCron(自动触发持久化逻辑)

redisServer 结构体的 save_params指向拥有三个值的数组,该数组的值与 redis.conf 文件中 save...

查看全文
加载更多
0%