跳到主要内容

8 篇博文 含有标签「Java」

查看所有标签

· 阅读需 2 分钟
ahKevinXy

Zookeeper 是一个针对分布式应用程序的分布式开源协调服务,分布式应用可以在这些服务的基础上构建更高级的同步,配置维护,组和命名服务

Zookeeper允许分布式进程通过共享的分层空间相互协调

中间件 提供协调服务

作用于分布式系统

支持Java 通过java和C语言的客户端api

特性

  • 顺序一致性
  • 原子性
  • 单一视图
  • 可靠性
  • 及时性

简单的api

  • create 在树种某个位置创建节点
  • delete 删除一个节点
  • exist 测试某个位置节点状态
  • get data 获取节点数据
  • set data 将数据写入节点
  • get children 检索节点数据
  • sync 等待数据传播

介绍

官网下载地址 :download

# 下载 bin

wget https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz

# 解压文件
tar -zxvf apache-zookeeper-3.9.1-bin.tar.gz

# 目录结构
# bin conf docs lib LICENSE.txt logs NOTICE.txt README.md README_packaging.md


# 生成配置文件
# 进入 conf

cp zoo_sample.cfg zoo.cfg

# 进入 bin 目录

# 启动 zookeeper
./zkServer.sh start

# zkCli.sh

./zkCli.sh -server 127.0.0.1:2181


zoo.cfg 配置说明

  • tickTime 用于计算的时间单元
  • initLimit 用于集群,允许 从节点连接 并同步到master节点的初始化连接时间.以tickTime的倍数来表示
  • syncLimit 用于集群 master主节点与从节点之间发送消息,请求和应答时间长度(心跳机制)
  • dataDir 必须配置
  • dataLogDir 日志文件
  • clientPort 连接服务器的端口

· 阅读需 6 分钟
ahKevinXy

基础语法

  • 对象 对象是类的一个实体
  • 类 类是一个模板,它描述一类对象的行为和状态
  • 方法 方法是行为, 一个类可以有很多方法.逻辑运算,数据修改以及所有动作都在方法内实现
  • 实例变量 每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定

· 阅读需 1 分钟
flankx

锁状态:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级

Alt text

各种锁的比较

Alt text