
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
zookeeper server单机启动流程(1) 加载zookeeper配置文件zoo.cfg(2) 创建Jetty Admin Server监听(监听zk server)(3)创建ServerCnxnFactory(默认是NIO,可以配置为Netty)(4) ServerCnxnFactory启动(5)第一次启动zk server初始化创建5个默认节点(6) 初始化事务日志与数据快照文件(7)

服务注册:springboot项目启动时,自定义监听器ApplicationListener去监听web服务启动事件web server启动成功,则触发事件回调方法回调方法中,在zookeeper指定节点下创建临时节点,临时节点的值保存当前项目启动的 ip + port如果某个服务宕机,服务断开一定时间(默认30s)临时节点会自动删除服务发现:springboot项目启动时,会从zookeeper

客户端建立连接ClientCnxn.SendThreadpublic void run() {startConnect(serverAddress); //开始和服务端建立连接}private void startConnect(InetSocketAddress addr) throws IOException {clientCnxnSocket.connect(addr);}ClientCnx
整合freemarker/Thymeleaf:1、引入pom依赖2、controller中通过Model对象向前端页面传值,返回值是前端页面名字3、前端页面根据对应语法规则取值4、freemarker需要在配置文件中设置文件后缀
分布式协调中间件(决策者),让多个节点数据达成一致官网:https://zookeeper.apache.org/常用命令bin/zkServer.sh status #查看zk状态bin/zkServer.sh start #启动zkbin/zkServer.sh stop #停止zkbin/zkServer.sh restart #重启zkbin/zkCli.sh -server 127.0.
synchronized锁可以解决线程安全问题,但是相应的,只要是锁,就会带来性能开销,所以尽可能减小锁的范围尤为重要。synchronized锁无非修饰普通方法,修饰静态方法,修饰代码块,我认为无非就两种(对象锁、类锁),只不过是锁的使用对象不同而已,实际上synchronized锁的作用范围,取决于使用对象的生命周期。接下来简单介绍几种不同影响范围的锁。...
kafka安装准备jdk-8u131-linux-x64.tar.gzkafka_2.13-3.2.0.tgzapache-zookeeper-3.6.1-bin.tar.gzkafka-eagle-bin-2.1.0.tar.gzzktools.zipcanal.deployer-1.1.4.tar.gz
配置中心工作流程服务启动时,加载远程配置到配置中心当需要修改配置时,通过配置中心后台控制台修改配置配置中心的配置改动会同步到每个server上
Redis中提供了8种内存淘汰策略:volatile-lru:针对设置了过期时间的key,使用LRU算法进行淘汰allkeys-lru:针对所有key使用LRU算法进行淘汰volatile-lfu:针对设置了过期时间的key,使用LFU算法进行淘汰allkeys-lfu:针对所有key使用LFU算法进行淘汰volatile-random: 从设置了过期时间的key中随机删除allkeys-rand







