- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 ZooKeeper理解(1)
ZooKeeper理解(1)zk是一个分布式协同系统。可以存储并协同一些重要的数据,但是不适用于数据量大的存储,毕竟不是数据库服务。典型的应用场景有配置中心 注册中心 分布式锁 主从选举zk实现master-worker协同master-worker是一种分布式架构,master负责监控worker的状态,并给worker分配任务。kafka,Hbase,HDFS都是采用的此架构。规则如下:任意时刻master只有一个,如果出现多个就是脑裂问题,要避免脑裂。那么master就是单
2021-03-19 15:32:42
167
3
原创 Zookeeper java api
Zookeeper java api连接服务器(构造函数)使用类org.apache.zookeeper.ZooKeeper对zk服务器进行连接。构造方法为ZooKeeper(connectString,sessionTimeout,watcher).connectString、用逗号分隔的ip:port对。会随机取其中的一对进行连接。sessionTimeout、会话的超时时间。watcher、接收来自zk集群的所有事件。Watcher类有3种WatcherType和Event
2021-03-18 16:41:41
300
翻译 Java 内存模型
原链接 此为原链接地址JMM指定了JVM与计算机内存(RAM)怎样工作。JVM是整个计算机的一个模型,自然的这个模型会包含内存模型-也就是JMM。如果你想设计正确行为的并发程序理解JMM是非常重要的。JMM指定不同的线程怎样何时可以看到被其他线程写入到共享变量中的值,在必要的时候怎样同步访问共享变量。最初的JMM是不足的,所以JMM在java1.5被改进了。此次的修改一直沿用到Java1.8。...
2018-04-28 14:41:26
201
原创 RocketMq Namesrv 启动源码3_NamesrvController.start()_详解1
//创建长时间执行任务的线程池 this.defaultEventExecutorGroup = new DefaultEventExecutorGroup( nettyServerConfig.getServerWorkerThreads(), new ThreadFactory() { ...
2018-04-22 20:17:53
366
原创 RocketMq Namesrv 启动源码2_NamesrvController.start()
接RocketMq Namesrv启动源码1 启动时,调用NamesrvController.initialize()方法时实例化了NettyRemotingServer对象。所以,先分析此构造函数做了什么。NettyRemotingServer(final NettyServerConfig nettyServerconfig,final ChannelEventListener channel...
2018-04-20 22:29:43
202
原创 RocketMq Namesrv 启动源码1
版本4.2.0启动类为NamesrvStartup。启动的时候需要添加环境变量:ROCKETMQ_HOME=/Users/xxx/programFile/rocketmq-all-4过程:通过commons-cli-1.2.jar中的相应命令类进行启动Namesrv时传入的参数,通过反射机制赋值给NamesrvConfig类和NettyServerConfig类。并将这2个类中的字段和值打印到日志...
2018-04-20 17:28:34
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人