自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张伯毅的专栏

人生就是一道证明题,证明我们的存在不是偶然....

原创 TO DO LIST

2019年 任务名称 作者 状态 开始时间 Redis深度历险 核心原理与应用实践 钱文品 完成 2019-01 Java 多线程编程核心技术 高洪岩 完成 2019-01 Spark大数据商业实战三部曲 王家林 完成 2019-01 说透中台 王健 完成 2019-0...

2019-12-25 13:53:47

阅读数 294

评论数 0

原创 Quartz 2.4.0 源码解析

执行逻辑图 代码流程图 源代码[注释版本] GitLab 地址:https://github.com/BoYiZhang/quartz.git 代码入口: org.quartz.core.QuartzTest public class QuartzTest { ...

2020-02-15 03:27:17

阅读数 50

评论数 0

原创 Quartz 在misfire模式[错失、补偿执行] 策略

概述 调度(scheduleJob)或恢复调度(resumeTrigger,resumeJob)后不同的misfire对应的处理规则 misfire产生的条件是:到了该触发执行时上一个执行还未完成,且线程池中没有空闲线程可以使用(或有空闲线程可以使用但job设置为@DisallowConcur...

2020-02-15 02:35:45

阅读数 38

评论数 0

翻译 Quartz配置文件详解&生产配置

目录 Configure Main Scheduler Properties Configure ThreadPool Configure JobStore Configure Datasources 数据源 Configure Plugins 插件配置 ShutdownHoo...

2020-02-13 09:01:20

阅读数 97

评论数 0

原创 Nginx 动静分离配置

语法 http.server.localtion语法 基本语法: location [=|~|~*|^~]/uri/{...} = 严格匹配, 如果这个查询匹配,将停止搜索并立即处理此请求 ~ 区分大小写匹配(可用正则表达式) ~* 不区分大小写匹配(可用正则表达式) !~ 区分大小...

2020-02-12 13:25:38

阅读数 179

评论数 0

原创 Nginx 配置负载均衡

架构思想 环境 nginx 服务一台 有三个 web 服务分别是 service01, service02, service03 ,启动,并且可以正常访问. 配置 nginx 配置 www.erp.com 这个为域名,可以配置为 ip 地址. #配置负载...

2020-02-12 11:45:02

阅读数 126

评论数 0

原创 Nginx 配置反向代理

1.创建配置文件 ext.conf server { listen 8011; # 访问端口 server_name localhost; #charset koi8-r; #access_log /var/log/nginx...

2020-02-12 11:33:27

阅读数 118

评论数 0

原创 Nginx 安装&默认配置简介

一. yum 安装 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx 配置文件目录: /...

2020-02-12 11:27:18

阅读数 120

评论数 0

原创 JVM 调优命令&工具使用

top命令查看进程占用资源情况 jps 命令 查看 java进程 jstack 命令 关注WATTING 查看死锁问题 jstat -gc pid 查看 GC 情况 jinfo pid 查看 jvm 常用信息 arthas [推荐] 安装&启动 使用 jmap 命令 [生产环...

2020-02-10 15:07:08

阅读数 2173

评论数 2

转载 官网: arthas 快速入门

快速入门 alibaba开源 jvm 调优工具, 生产环境巨好用 . 1. 启动Demo curl -O https://alibaba.github.io/arthas/arthas-demo.jar java -jar arthas-demo.jar arthas-demo是一个...

2020-02-10 11:23:10

阅读数 100

评论数 0

原创 JAVA 项目启动 JVM 生产环境 CMS 参数设置参考

参数设置如下: nohup $JAVA_HOME/bin/java $exec_command > $log 2>&1 < /dev/null & -server -Xmx16g -Xms4g -Xss512k -XX:+DisableE...

2020-02-10 10:06:46

阅读数 104

评论数 2

原创 Java日志框架-SLF4J入门 [ LogBack 样例实现 ]

概述 slf4j只是一个日志标准,并不是日志系统的具体实现。 我们编程的时候只需要操作slf4j,具体底层实现不关注,只需要配置即可. slf4j只做两件事情: 提供日志接口 提供获取具体日志对象的方法 组件关系图 样例实现: 整体截图: 代码示例 import ...

2020-02-09 17:43:52

阅读数 210

评论数 0

原创 Quartz 概览

架构图 Quartz API的关键接口 Scheduler- 与调度程序交互的主要API。 Job - 由希望由调度程序执行的组件实现的接口。 JobDetail - 用于定义作业的实例。 Trigger(即触发器) - 定义执行给定作业的计划的组件。 JobBui...

2020-02-07 22:20:06

阅读数 69

评论数 0

原创 一张图搞定 DataX 源码流程

高清图:https://www.processon.com/view/link/5e36476be4b04982809b632d

2020-02-06 22:41:13

阅读数 60

评论数 0

转载 大白话 + 13 张图解 Kafka

前言 一、Kafka基础 消息系统的作用 1.Topic 主题 2.Partition 分区 3.Producer - 生产者 4.Consumer - 消费者 5.Message - 消息 二、kafka的集群架构 Replica - 副本 Consumer Group - ...

2020-02-01 15:45:09

阅读数 154

评论数 0

转载 不懂什么是 Java 中的锁?看看这篇你就明白了!

Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可以分为悲观锁和乐观锁 从资源已被锁定,线程是否阻塞可以分为自旋锁 从多个线程并发访问资源,也就是 Sy...

2020-01-30 19:53:06

阅读数 233

评论数 0

原创 使用 PowerDesigner 生成数据库设计文档

1. 下载模板 链接:https://pan.baidu.com/s/1PbDmdusu4lfUkcMJKerTTQ 密码:en5d 2.点击Report-->Reports templates 进入Report模版页面 3. 选择模板 点击最右边的 文件夹图标,进入选择...

2020-01-04 15:58:45

阅读数 103

评论数 0

原创 使用 PowerDesigner 生成 表结构图

1. 打开软件后,选择 File --> Reverse Engineer --> 选择 Database。 2. 这里可以输入 你表结构的名称,也可以不填写,点击确定按钮。 3.点击 红色 标记按钮,选择已经准备好的数据库文件,然后点击确定按钮。 4.生成结...

2020-01-04 15:46:34

阅读数 128

评论数 0

原创 GIT LAB 为不同的项目设置不同的用户名和邮箱

在每个项目的根目录下都有一个.git 文件夹. 打开,编辑config文件 添加/修改: [user] name = BoYiZhang email = zhangboyi_mx@163.com 实例: [core] repositoryformatve...

2020-01-03 17:32:07

阅读数 807

评论数 0

原创 Intellij Idea配置springBoot多环境/配置文件

因为项目需要,需要每个微服务对应各自名称的配置文件.所有有了本文. 配置文件名称: application-api.properties 方法一 : 设置 Active profiles 方法二:Program arguments:输入指令 --spring.profil...

2020-01-03 16:42:37

阅读数 127

评论数 0

原创 Apache-DolphinScheduler-1.2.1 源码: 编译

设计特点:一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 其主要目标如下: 以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态 支持丰富的任务类型:Shell、MR、Spark...

2020-01-03 16:34:05

阅读数 221

评论数 0

原创 npm 更换资源库&使用淘宝镜像

1.临时使用 npm --registryinstall https://registry.npm.taobao.org 2.更换 npm 库 npm config set registry https://registry.npm.taobao.org 验证 npm conf...

2020-01-02 09:53:38

阅读数 78

评论数 0

原创 ---------- 2019年12月31日 --------------

2019-12-31 23:59:57

阅读数 56

评论数 0

翻译 SpringBoot 微服务采用oauth2和shiro+JWT实现鉴权

接口说明,支持两种方式,两套接口 代码地址: https://github.com/BoYiZhang/oauth2-shiro-jwt 1.使用JWT生成Token,使用shiro实现鉴权 2.使用oauth2生成token,spring security实现鉴权 使用JWT生成Toke...

2019-12-31 18:13:25

阅读数 467

评论数 0

翻译 Kafka学习笔记: 控制器Controller

控制器组件(Controller),是 Apache Kafka 的核心组件。它的主要作用是在 Apache ZooKeeper 的帮助下管理和协调整个 Kafka 集群。集群中任意一台 Broker 都能充当控制器的角色,但是,在运行过程中,只能有一个 Broker 成为控制器,行使其管理和协调...

2019-12-29 18:33:02

阅读数 110

评论数 0

翻译 Kafka学习笔记: Kafka 2.3消费者组重平衡

消费者组的重平衡流程,它的作用是让组内所有的消费者实例就消费哪些主题分区达成一致。重平衡需要借助 Kafka Broker 端的 Coordinator 组件,在 Coordinator 的帮助下完成整个消费者组的分区重分配。 触发与通知 重平衡的 3 个触发条件: 组成员数量发生变化。 ...

2019-12-29 17:38:06

阅读数 94

评论数 0

翻译 Kafka学习笔记: 请求模式 [ Reactor ]

Kafka 使用的是 Reactor 模式。 Reactor 模式概览 多个客户端会发送请求给到 Reactor。Reactor 有个请求分发线程 Dispatcher,也就是图中的 Acceptor,它会将不同的请求下发到多个工作线程中处理。Acceptor 线程只是用于请求分发,不涉及...

2019-12-29 13:32:31

阅读数 61

评论数 0

翻译 Kafka学习笔记: 副本机制

所谓副本(Replica),本质就是一个只能追加写消息的提交日志。根据 Kafka 副本机制的定义,Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区。副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本。同一个分区下的所有副本保存有相同的消息序列,这些副本分散保存在不同的 ...

2019-12-27 17:29:40

阅读数 45

评论数 0

翻译 Kafka学习笔记 : 消费进度监控 [ 消费者 Lag 或 Consumer Lag ]

所谓滞后程度,就是指消费者当前落后于生产者的程度。 Lag 应该算是最最重要的监控指标了。它直接反映了一个消费者的运行情况。一个正常工作的消费者,它的 Lag 值应该很小,甚至是接近于 0 的,这表示该消费者能够及时地消费生产者生产出来的消息,滞后程度很小。反之,如果一个消费者 Lag 值很大...

2019-12-27 16:36:32

阅读数 158

评论数 0

翻译 Kafka学习笔记 : 消费者 TCP 连接

KafkaProducer 在构建实例的时候,会在后台默默地启动一个 Sender 线程,这个 Sender 线程负责 Socket 连接的创建。并且连接bootstrap.servers指定的的所有 broker. 构建 KafkaConsumer 实例时是不会创建任何 TCP 连接的...

2019-12-27 15:35:46

阅读数 35

评论数 0

翻译 Kafka学习笔记: 多线程开发消费者

从 Kafka 0.10.1.0 版本开始,KafkaConsumer 就变为了双线程的设计,即用户主线程和心跳线程。 所谓用户主线程,就是你启动 Consumer 应用程序 main 方法的那个线程,而新引入的心跳线程(Heartbeat Thread)只负责定期给对应的 Broker 机...

2019-12-27 14:55:50

阅读数 49

评论数 0

翻译 Kafka学习笔记: CommitFailedException 异常处理

场景一: 因为处理时间超过max.poll.interval.ms 所设定的时间. 简化你的消息处理逻辑。具体来说有 4 种方法: 缩短单条消息处理的时间。比如,之前下游系统消费一条消息的时间是 100 毫秒,优化之后成功地下降到 50 毫秒,那么此时 Consumer 端的 TPS 就提...

2019-12-27 00:11:01

阅读数 68

评论数 0

翻译 Kafka学习笔记: 自动提交&手动提交.

Consumer 需要向 Kafka 汇报自己的位移数据,这个汇报过程被称为提交位移(Committing Offsets)。因为 Consumer 能够同时消费多个分区的数据,所以位移的提交实际上是在分区粒度上进行的,即 Consumer 需要为分配给它的每个分区提交各自的位移数据。 提交位移...

2019-12-26 23:22:20

阅读数 80

评论数 0

翻译 Kafka学习笔记: 消费者组重平衡优化

Rebalance 就是让一个 Consumer Group 下所有的 Consumer 实例就如何消费订阅主题的所有分区达成共识的过程。在 Rebalance 过程中,所有 Consumer 实例共同参与,在协调者组件的帮助下,完成订阅主题分区的分配。但是,在整个过程中,所有实例都不能消费任何消...

2019-12-26 12:29:39

阅读数 116

评论数 0

翻译 Kafka学习笔记:位移主题Offsets Topic

__consumer_offsets 在 Kafka 源码中有个更为正式的名字,叫位移主题,即 Offsets Topic。 位移主题就是普通的 Kafka 主题。它的消息格式却是 Kafka 自己定义的,不能修改,不能随意向里面写数据. 如果位移主题是 Kafka 自动创建的,那么该主题的分...

2019-12-26 10:15:56

阅读数 132

评论数 0

转载 从技术角度分析,一个女生不主动联系你还有机会吗?

很多同学对热备,冷备,云备了解不深,我科普一下IT行业各种备份术语。以后别闹笑话了。 假设你是一位女性,你有一位男朋友,于此同时你和另外一位男生暧昧不清,比朋友好,又不是恋人。你随时可以甩了现任男友,另外一位马上就能补上。这是冷备份。 假设你是一位女性,同时和两位男性在交往,两位都是你男朋友。...

2019-12-26 09:59:24

阅读数 134

评论数 0

翻译 Kafka学习笔记: Kafka 的消费者组

Consumer Group 是 Kafka 提供的可扩展且具有容错性的消费者机制。 既然是一个组,那么组内必然可以有多个消费者或消费者实例(Consumer Instance),它们共享一个公共的 ID,这个 ID 被称为 Group ID。 组内的所有消费者协调在一起来消费订阅主题(...

2019-12-25 16:46:47

阅读数 134

评论数 0

翻译 Kafka学习笔记:Kafka 消息交付可靠性保障以及精确处理一次语义的实现

幂等性 Producer 只能保证单分区、单会话上的消息幂等性;而事务能够保证跨分区、跨会话间的幂等性。 所谓的消息交付可靠性保障,是指 Kafka 对 Producer 和 Consumer 要处理的消息提供什么样的承诺。 常见的承诺有以下三种: 最多一次(at most on...

2019-12-25 01:02:23

阅读数 94

评论数 0

翻译 Kafka学习笔记:生产者 TCP 连接

Kafka 生产者程序概览 Kafka 的 Java 生产者 API 主要的对象就是 KafkaProducer。通常我们开发一个生产者的步骤有 4 步。 第 1 步:构造生产者对象所需的参数对象。 第 2 步:利用第 1 步的参数对象,创建 KafkaProducer 对象实例。 ...

2019-12-24 23:40:47

阅读数 52

评论数 0

翻译 Kafka学习笔记: Kafka 百惑梳理

1. 消息经常堆积起来,不能消费了,重启服务就能继续消费了。 消息堆积可能原因如下:1. 生产速度大于消费速度,这样可以适当增加分区,增加consumer数量,提升消费TPS;2. consumer消费性能低,查一下是否有很重的消费逻辑(比如拿到消息后写HDFS或HBASE这种逻辑就挺重的),看...

2019-12-24 18:32:33

阅读数 69

评论数 0

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