自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(21)
  • 资源 (12)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Keepalived - Keepalived 实现 tomcat双机热备

文章目录Pre环境信息原理keepalived 安装137 安装 keepalived138 安装 keepalived配置keepalived的配置文件/etc/keepalived/keepalived.conf关键参数解读137138检测脚本日志Pre双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。环境信息节点软件IP节点Akeepalived + tomcat192.168.126.137节点Bkeepalived + tomcat19

2020-12-30 01:18:04 344

原创 Apache ZooKeeper -从初始化到对外提供服务的过程解析( 集群模式 )

文章目录流程图Pre什么是集群模式?ZooKeeper 集群模式的特点底层实现原理程序启动QuorumPeer 类Leader 服务器启动过程Follow 服务器启动过程小结流程图PreApache ZooKeeper -从初始化到对外提供服务的过程解析( 单机模式 )我们知道了 ZooKeeper 在单机模式下从启动运行到对外提供服务的整个过程。在日常工作中,无论是出于性能上的优势还是可靠性的考虑,单机模式都无法满足要求。因此,ZooKeeper 也采用集群的方式运行。我们就来学习一下 Zoo

2020-12-26 22:27:59 154

原创 Apache ZooKeeper -从初始化到对外提供服务的过程解析( 单机模式 )

文章目录流程图目的启动前的准备工作解析配置文件创建文件清理器服务初始化ServerStats创建FileTxnSnapLogServerCnxnFactory初始化请求处理链小结流程图目的通过对单机版的 ZooKeeper 中的启动与服务的初始化过程进行分析,来了解 ZooKeeper 服务端相关的处理知识。现在开始深入到服务器端看一看 ZooKeeper 是如何从初始化到对外提供服务的。启动前的准备工作在 ZooKeeper 服务的初始化之前,首先要对配置文件等信息进行解析和载入。也就是在

2020-12-26 21:57:25 146

原创 Apache ZooKeeper - ZK的数据和文件

文章目录目标内存数据事务日志数据快照小结目标本篇博文,我们主要聚焦在ZooKeeper 程序运行期间,都会处理哪些数据,以及他们的存储格式和存储位置。ZooKeeper 服务提供了创建节点、添加 Watcher 监控机制、集群服务等丰富的功能。这些功能服务的实现,离不开底层数据的支持。从数据存储地点角度讲,ZooKeeper 服务产生的数据可以分为内存数据和磁盘数据。而从数据的种类和作用上来说,又可以分为事务日志数据和数据快照数据。内存数据ZooKeeper 的数据模型可以看作一棵树形结

2020-12-25 19:15:46 156

原创 Apache ZooKeeper - 集群中 Observer 的作用以及 与 Follow 的区别

文章目录PreObserver 介绍源码解析Pre在 ZooKeeper 集群服务运行的过程中,Follow 服务器主要负责处理来自客户端的非事务性请求,其中大部分是处理客户端发起的查询会话等请求。而在 ZooKeeper 集群中,Leader 服务器失效时,会在 Follow 集群服务器之间发起投票,最终选举出一个 Follow 服务器作为新的 Leader 服务器。除了 Leader 和 Follow 服务器,ZooKeeper 集群中还有一个 Observer 服务器。在 ZooKeeper

2020-12-25 00:07:39 252

原创 Apache ZooKeeper - 集群中 Follow 的作用_非事务请求的处理与 Leader 的选举分析

文章目录Pre非事务性请求处理过程源码分析选举过程在这里插入图片描述Leader 失效发现Leader 重新选举Follow 角色变更集群同步数据源码解析小结Pre在 ZooKeeper 集群中,Leader 服务器主要负责处理来自客户端的事务性会话请求,并在处理完事务性会话请求后,管理和协调 ZooKeeper 集群中 Follow 和 Observer 等角色服务器的数据同步。因此,在 ZooKeeper 集群中,Leader 服务器是最为核心的服务器,一个 ZooKeeper 服务在集群模式下

2020-12-24 23:57:59 184

原创 Apache ZooKeeper - 集群中 Leader 的作用_事务的请求处理与调度分析

文章目录事务性请求处理Leader 事务处理分析预处理阶段事务处理阶段事务执行阶段响应阶段源码分析小结Leader 服务器在 ZooKeeper 中的作主要是处理事务性的会话请求以及管理 ZooKeeper 集群中的其他角色服务器那么 在接收到来自客户端的事务性会话请求后,ZooKeeper 集群内部又是如何判断会话的请求类型,以及转发处理事务性请求的呢?事务性请求处理在 ZooKeeper 集群接收到来自客户端的会话请求操作后,首先会判断该条请求是否是事务性的会话请求。对于事务性的会话请求,

2020-12-24 23:30:04 140

原创 Apache ZooKeeper - ZooKeeper 集群中 Leader 与 Follower 的数据同步策略

文章目录why在 Leader 节点选举后,还需要把 Leader 服务器和 Follow 服务器进行数据同步。在保证整个 ZooKeeper 集群中服务器数据一致的前提下,ZooKeeper 集群才能对外提供服务。why介绍 ZooKeeper 集群数据同步之前,先要清楚为什么要进行数据同步。在 ZooKeeper 集群服务运行过程中,主要负责处理发送到 ZooKeeper 集群服务端的客户端会话请求。这些客户端的会话请求基本可以分为事务性的会话请求和非事务性的会话请求,而这两种会话的本质区别在于

2020-12-24 00:07:11 192

原创 Apache ZooKeeper - Leader 选举 如何保证分布式数据的一致性

文章目录PreLeader 的协调过程ZK 是如何实现的PreApache ZooKeeper - 选举Leader源码流程深度解析在 ZooKeeper 集群中,服务器分为 Leader 服务器、 Follower 服务器以及 Observer 服务器。我们可以这样认为,Leader 选举是一个过程,在这个过程中 ZooKeeper 主要做了两个重要工作,一个是数据同步,另一个是选举出新的 Leader 服务器。今天我们继续来看下 ZooKeeper 集群中的数据同步问题。Leader

2020-12-23 23:30:19 166

原创 Apache ZooKeeper - 线上系统日志清理

文章目录PurgeTxnLog源码分析crontabPurgeTxnLog源码分析使用 PurgeTxnLog 则可以在编写清除脚本的时候调用 ZooKeeper 提供的工具类完成日志清理工作。编写 PurgeTxnLog 类的调用程序,系统就会自动通过 PurgeTxnLog 工具类完成对应日志文件的清理工作。#!/bin/sh java -cp "$CLASSPATH" org.apache.zookeeper.server.PurgeTxnLog echo "清理完成"

2020-12-22 21:15:22 146

原创 Excle2MD

文章目录PreExcel to MD官方文档特性常规用例,文件转换解决在移动设备上表格不能自适应的问题指定对齐方式转换到Json转换到TeXPre天天md 表格, 效率太低,找到了一个fanfeilong大神写的工具,真是解放生产力啊Excel to MDhttps://github.com/fanfeilong/exceltk用法来先干到excel里执行命令C:\Users\artisan\Desktop\exceltk.exe -t md -xls C:\Users\artis

2020-12-22 15:58:51 124

原创 Apache ZooKeeper - FourLetterCommands运维命令

文章目录Pre安装nc常见的四字母命令FourLetterCommands命令解析QuestionPreApache ZooKeeper - JMX监控 ZooKeeper 的运行状态除了 JConsole 监控控制台之外,ZooKeeper 还提供了一些命令,可使我们更加灵活地统计监控 ZooKeeper 服务的状态信息。ZooKeeper 提供的这些命令也叫作四字母命令,如它们的名字一样,每一个命令都是由四个字母组成的。比如,输入相关的命令来查询 ZooKeeper 服务,可以输入 sta

2020-12-22 15:26:53 170

原创 Apache ZooKeeper - JMX监控 ZooKeeper 的运行状态

文章目录JMX配置OPJConsle 通过 JMX访问远端服务JMX配置主要是 输入 JMX 服务的端口号并禁止身份认证等配置-Djava.rmi.server.hostname=服务器的IP地址或者域名-Dcom.sun.management.jmxremote.port=端口号-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 连不上的话,别忘了

2020-12-22 13:38:19 102

原创 leetcode - two-sum

文章目录QAQ给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1] A...

2020-12-21 22:16:52 101

原创 Apache ZooKeeper - 选举Leader源码流程深度解析

文章目录流程图流程图

2020-12-20 20:45:41 160

原创 Apache ZooKeeper - Leader Election使用场景

文章目录需求Leader Election需求Leader Electionhttps://curator.apache.org/getting-started.htmlDemo示例

2020-12-17 11:17:42 183

原创 小工匠聊架构 - 分布式缓存技术_缓存设计

文章目录总览缓存的基本思想缓存优势缓存的代价总览首先,要熟练掌握缓存的基础知识,了解缓存常用的分类、读写模式,熟悉缓存的七大经典问题及解决应对之策,同时要从缓存组件的访问协议、Client 入手,熟练掌握如何访问各种缓存组件,如 Memcached、Redis、Pika 等。其次,要尽可能深入理解缓存组件的实现方案、设计原理,了解缓存的各种特性、优势和不足,这样在缓存数据与预期不一致时,能够快速定位并解决问题。再次,还要多了解线上大中型系统是如何对缓存进行架构设计的。线上系统

2020-12-17 00:29:24 210

原创 Apache ZooKeeper - 使用ZK实现分布式锁(非公平锁/公平锁/共享锁 )

非公平锁-羊群效应公平锁共享锁

2020-12-10 20:23:32 278

原创 Apache ZooKeeper - Watch 机制的底层原理

文章目录Watch 机制API 使用Watch 机制的底层原理客户端 Watch 注册实现过程服务端 Watch 注册实现过程服务端 Watch 事件的触发过程客户端回调的处理过程实现一个订阅发布场景Watch 机制ZooKeeper 又一关键技术——Watch 监控机制 。API 使用ZooKeeper 的客户端可以通过 Watch 机制来订阅当服务器上某一节点的数据或状态发生变化时收到相应的通知,我们可以通过向 ZooKeeper 客户端的构造方法中传递 Watcher 参数的方式实现n

2020-12-08 00:30:59 285

原创 Apache ZooKeeper - ZooKeeper 数据模型回顾

文章目录Pre数据模型概述znode 节点类型与特性持久节点临时节点有序节点节点小结节点的状态结构Watch 机制实现分布式通知API 使用Watch 机制的底层原理Pre前面我们梳理了Zk的核心功能 , ZooKeeper 作为一个分布式协调服务,提供了在分布式环境下一致性问题的解决方案 。今天 我们再来回顾下基础知识基本分为三大模块:数据模型Watch 监控ACL 权限控制数据模型概述通过 ZooKeeper 提供的 create 命令来创建几个节点,分别是:“/

2020-12-07 00:00:43 106

原创 Apache ZooKeeper - 使用原生的API操作ZK_ACL权限

文章目录PreCodePreApache ZooKeeper - ZK的ACL权限控制( Access Control List )Apache ZooKeeper - 使用原生的API操作ZK_CRUDCodepackage com.artisan.zk.originalClient;import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import org.apache.zookeeper.CreateMode;

2020-12-01 15:32:06 146

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

小小工匠的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除