自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (10)
  • 收藏
  • 关注

原创 【SpringCloud】服务网关 gateway 和 zuul

视频:zuul 和 zuul2 因为内部发生重大变故,因此都不建议使用了。建议使用gateway,它使用了netty和spring 5的新知识。Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;但在2.x版本中,zuu的升级一直跳票, SpringCloud最后自 己研发了一个网关替代Zuul,那就是SpringCloud Gateway-句话: gateway是原zuul1.x版的替代。

2021-03-31 23:27:49 539 1

原创 【SpringCloud】服务降级 Hystrix DashBoard

文章目录1.概述2.案例2.1 案例12.1.1 pom2.1.2 主类2.1.3 配置2.1.4 provider2.1.5 测试2.1.6 被监控者1.概述视频笔记:https://www.bilibili.com/video/BV18E411x7eT?p=64&spm_id_from=pageDriver除了隔离依赖服务的调用以外,Hystrix还提供 了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,以统计

2021-03-30 23:32:44 115

原创 【SpringCloud】服务降级 Hystrix 断路器

文章目录1.概述1.3 服务雪崩1.4 Hystrix1.5 服务降级1.5.1 哪些情况会出发降级1.5 服务熔断1.5 服务限流2.案例2.1 案例12.1.1 配置2.1.2 主类2.1.3 controller2.1.4 service2.1.5 测试2.1.6 恶化3.解决4.服务降级1.概述1.3 服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微

2021-03-29 22:38:46 144

原创 【SpringCloud】服务调用OpenFeign

文章目录1.概述1.1 Feign能干什么1.2 open feign和feign区别2. 案例2.1 案例12.1.1 consumer端2.1.1.1 maven2.1.1.1 主类2.1.1.2 接口2.1.1.2 controller2.1.1.3 eureka启动2.1.1.4 provider2.1.1.5 访问测试3.Feign的超时机制3.1 故意设置超时3.2 不故意设置超时1.概述1.1 Feign能干什么Feign旨在使编写JavarHttp客户端变得更容易。前面在使用Ri

2021-03-28 16:13:14 131

原创 【SpringCloud】Ribbon 负载均衡

1.概述Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。简单的说,Ribbon是Netflix发 布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer (简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。L.

2021-03-28 14:11:53 146 1

原创 【SpringCloud】服务注册之 Consul

1.概述官网:https://www.consul.io/docs/intro中文文档:https://www.springcloud.cc/spring-cloud-consul.htmlConsul是一开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用, 也可以-起使用以构建全方位的服务网格,总之Consul提供了一-种完整的服务网格解决方案。它具有很多优点。包括:基纡r.

2021-03-28 09:25:53 110

原创 【git】LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

1.概述今天git 拉取一个项目报错[lcc@lcc ~/IdeaProjects/third]$ git clone https://github.com/xxxx/xxxx.gitCloning into 'xxxx'...fatal: unable to access 'https://github.com/xxxx/xxxx.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443[lcc.

2021-03-28 08:09:35 1337

原创 【MySQL】MySQL RROR 3680 (HY000): Failed to create schema directory ‘db2019‘ (errno: 2 - No such file

新装机的MySQL,然后想建立一个数据库,报错如下or \gType 'help;mysql>

2021-03-28 08:09:00 4023 1

转载 【MySQL】MySQL RROR! The server quit without updating PID file

1.概述参考:https://www.jianshu.com/p/6d74635e068b由于很长时间没有使用MySql,今天想启动一下发现启动不了,输入MySql启动命令报错。操作步骤如下:输入MySql启动命令:sudo /usr/local/mysql/support-files/mysql.server start报错信息如下:Starting MySQL.Logging to '/usr/local/mysql/data/mac.local.err'. ERROR! The s

2021-03-28 08:08:26 508

原创 [MySQL] 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded dlope

1.概述新装的mysql 无法本地登录解决方法在控制台登陆后重新改下密码即可mysql> alter user 'root'@'localhost' identified with mysql_native_password by '12345678';Query OK, 0 rows affected (0.01 sec)

2021-03-28 08:07:50 699

原创 【IDEA】使用@slf4j 运行时提示找不到符号log

1.概述IDEA运行一个项目报错检查了下lombok 插件的配置:已经正常安装,并且其他项目没有报错,忽然看到event log有错误提示:点开发现提示的问题正是lombok的问题:根据提示,设置了下:再次运行程序,日志可以正常打印了。但是我的提示不是这样的,是如下的21:27 Compilation completed with 1 error and 1 warning in 5 s 621 ms21:28 Compilation completed with 1 error

2021-03-28 08:07:26 6887

原创 【SpringClould】 eureka 的自我保护机制

1.概述保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Senγer将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务。如果在Eureka Server的首页看到以下这段提示,则说明Eureka进入了保护模式:默认情况下,如果EurekaServer在一 定时间内没有接收到某 个微服务实例的心跳,EurekaServer将会注销该实例 (默认90秒)。但是当网络分区故障发生(延时、卡顿、拥挤)时

2021-03-28 08:06:07 197

原创 【SpringCloud】服务注册之 zookeeper

文章目录1.概述2.zookeeper安装3. client3.1 主类3.2 依赖3.3 配置3.4 扩展4.思考1.概述2.zookeeper安装zk安装参考:zookeeper伪集群模式 根据这个安装一个单机版就好了。3. client3.1 主类@SpringBootApplication@EnableDiscoveryClient //该注解用于向使用consul或者zookeeper作为注册中心时注册服务public class Payment8004 { publi

2021-03-28 08:05:08 163

原创 【SpringCloud】 spring cloud 2021年 技术 更新换代 停更 等信息

1.概述#mermaid-svg-i7DmKmcPs98ZAjP3 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-i7DmKmcPs98ZAjP3 .label text{fill:#333}#mermaid-svg-i7DmKmcPs98ZAjP3 .node rect,#mermaid-svg-i7Dm.

2021-03-27 11:30:23 650

原创 【SpringCloud】Spring cloud 版本与 spring boot版本对应关系

1. 概述首先,spring clou的版本是以伦敦地铁站的站名命名的,而且按照字母排序,其次版本中的SR代表service release,是每个大版本发布的小版本。2.关系版本间关系,必须参考官网,因为其他的会有冲突。官网在:https://spring.io/projects/spring-cloud更详细的版本对应关系,请看:https://start.spring.io/actuator/info{ "git": { "branch": "f42ef342a1c3ef97a8.

2021-03-27 10:52:09 546

原创 95-10-110-启动-AdminManager

1.视界1 概述管理命令服务:adminManager,针对管理员命令的服务处理,命令行方式的创建topic,删除topic,增加分区等。依赖了 metadataCache,KafkaZkClient模块2. 入口方法 /** * 创建一个集群管理组件 */adminManager = new AdminManager(config, metrics, metadataCache, zkClient)...

2021-03-27 07:51:48 159

原创 【kafka】kafka 启动 KafkaController 相关源码分析

文章目录1.视界1 概述1.1 架构2 入口方法3 启动入口3.1 ControllerEventThread启动3.1.1 ControllerEventThread4. 处理启动事件5. 注册于选举6. 选举 KafkaController7. 失败选举7.1 日志和Isr通知7.2 初始化 ControllerContext7.2.1 获取集群中具有broker epoch 的所有brokers7.2.2 注册分区修改事件7.2.3 注册broker修改的处理程序7.2.4 从Zookeeper更新

2021-03-27 07:49:48 241

原创 95-10-092-启动-TokenManager

1.视界概述请求认证管理:tokenManager ,这个是权限相关,如果不开启的话,一般不用。Delegation Token指的是一种“授权”认证,它和Kerberos的授权相比,不同的点在于:用户被“授权”了一次之后,可以接着使用“授权令牌”在后续的请求过程中,无须再次“授权”过程。当然,这里会存在令牌过期更新的问题。...

2021-03-27 07:47:58 209

原创 95-10-090-启动-advertised广告监听者

文章目录1.视界概述入口createBrokerInforegisterBrokercheckpointBrokerId1.视界概述参考:50-20-010-配置-Listeners入口 /** * 从配置加载 advertised.listeners=PLAINTEXT://your.host.name:9092 配置,然后注册到zk上 */val brokerInfo = createBrokerInfo // BrokerInfo(0 : (EndPoint(localhost

2021-03-27 07:46:52 162

原创 95-10-080-启动-replicaManager副本管理器

文章目录1.视界1 概述2 入口方法3. 启动方法4. 线程isr-expiration4.1 maybeShrinkIsr4.1.1 getOutOfSyncReplicas4.1.2 updateIsr4.1.3 更新Leader的HW4.1.4 尝试执行延时任务5. isr-change-propagation5.1 maybePropagateIsrChanges5.2 propagateIsrChanges5.3 createSequentialPersistentPath(4-5) 小结6.

2021-03-27 07:45:47 128

原创 95-10-070-启动-SocketServer启动

文章目录1.视界1.概述1.1 架构2.入口方法3. 启动方法3.1 第一步连接限额3.2 createControlPlaneAcceptorAndProcessor3.3 createDataPlaneAcceptorsAndProcessors1.视界1.概述SocketServer是通讯模块,底层基于NIO的Reactor多线程模型来实现的。接近于Netty.Kafka基于高吞吐率和效率考虑,并没有使用第三方网络框架,而且自己基于java nio封装的1.1 架构总体网络模型如下:

2021-03-27 07:43:40 215

原创 95-10-055-启动-MetadataCache

文章目录1.视界1.概述1. cache里面存了什么?2. 每台broker都保存相同的cache吗?3. cache是怎么更新的?4. cache什么时候更新?5. 目前的问题?2.入口3. 重要的存储更新流程1.视界1.概述在每个Broker的KafkaServer对象中都会创建MetadataCache组件, 负责缓存所有的metadata信息;broker不保存消费者的状态。如果从这个角度来说,broker无状态的说法倒也没有什么问题。不过实际上,broker是有状态的服务:每台broke

2021-03-27 07:41:47 184

原创 95-10-050-启动-LogManager日志

文章目录1.视界1 概述2 入口方法2 定时任务总方法2.1 清理日志2.2 删除过大的segments3. 日志刷到硬盘flushDirtyLogscheckpointLogRecoveryOffsets1.视界1 概述目前来说,kafka的日志中记录的内容比较多,具体的存储内容见这篇博客,写的比较好。可以看到,存储的内容还是比较多的,当存储文件比较大的时候,我们应该如何处理这些日志?下面我们通过kafka启动过程的源码,分析下kafka的日志处理过程。2 入口方法在kafkaServer.s

2021-03-27 07:40:26 144

原创 【SpringClould】SpringClould eureka 单机 使用 ribbon 负载均衡

文章目录1.概述2.依赖3.client1.概述在博客:【SpringClould】SpringClould eureka 单机 案例实验 中我们写了一个random实现了负载均衡,实际上spring 是帮我们做好了负载均衡的。本次案例就是使用 ribbon 做 负载均衡2.依赖这里我将所有的实例都加上依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId&gt

2021-03-26 18:51:18 127

原创 【SpringClould】SpringClould eureka 单机 案例实验

文章目录1.概述2. server端3.client端4.user端5.测试1.概述在博客:【SpringClould】SpringClould eureka 单机与集群搭建 里面我们只是搭建了一个架构框框,没有请求实战,这里进行实战演练。这里大概做的功能是用户在user服务展现的界面,然后user会调用server 返回一个提供服务的客户端,然后随机返回一个clinet的结果。2. server端主类package com.spring.cloud.node.user;@SpringBo

2021-03-26 18:51:00 136

原创 【kafka】kafka BindException: Address already in use 一个失误或者愚蠢的问题

1.概述想在本地测试kafka开启Jmx,然后设置如下[lcc@lcc ~/soft/kafka/kafka_2.11-1.1.0]$ vi bin/kafka-run-class.sh# JMX settingsif [ -z "$KAFKA_JMX_OPTS" ]; then KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.

2021-03-26 12:00:27 1019

原创 【kafka】kafka jmx topic 监控 topic 名称不存在 或者 topic监控是如何出现的呢 或者 topic监控机制

1.概述该问题是一个网友引出了的。监控图如下猜测是需要消费一下才能出现。2.验证新建一个topic[lcc@lcc ~/soft/kafka/kafka_2.11-1.1.0]$ bin/kafka-topics.sh --create --topic topic_xjj1 --partitions 1 --replication-factor 1 --zookeeper localhost:2181WARNING: Due to limitations in metric names,

2021-03-26 11:59:14 471

原创 95-10-045-启动-LogDirFailureChannel

文章目录1.视界2.入口3. 内容1.视界2.入口logDirFailureChannel = new LogDirFailureChannel(config.logDirs.size)3. 内容/* * LogDirFailureChannel allows an external thread to block waiting for new offline log dirs. * * There should be a single instance of LogDirFailu

2021-03-26 11:58:16 162

转载 【SpringClould】Spring Cloud Eureka源码分析

文章目录1.概述1.1 Eureka的一些概念2.源码分析2.1 Eureka Server源码2.1.1 `@EnableEurekaServer`注解2.1.2 EurekaServerInitializerConfiguration2.1.2.1 contextInitialized()2.1.2.1.1 initEurekaEnvironment2.1.2.1.2 initEurekaServerContext2.1.2.1.2.1 registry.syncUp()2.1.2.1.2.2 eure

2021-03-25 22:59:52 187

原创 【SpringClould】SpringClould eureka 单机与集群搭建

1.概述2.单机版初学spring cloud 想实现 这样的功能 参考:SpringCloud之Eureka使用篇然后项目的组织结构如下2.1 server代码父moudle的配置如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

2021-03-25 11:58:30 143

原创 【SpringCloud】was unable to refresh its cache! status = Cannot execute request on any known server

1.概述初学spring cloud 想实现 这样的功能 参考:SpringCloud之Eureka使用篇然后项目的组织结构请参考:【SpringClould】SpringClould eureka 单机与集群搭建2.疑点1出现这种错误是因为:Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为。在 yml中设置eureka.client.register-with-eureka=false eureka.client.fetch-registr

2021-03-25 11:57:26 1482

原创 95-10-040-启动-限额管理

文章目录1.视界1. 概述2. 配额能做什么?3.配额作用域3.1 第一种是client id3.2 第二种是user3.3 第三种就是user + client id3.4 默认值4. 如何设置?4.1 限制follower副本拉取leader副本消息的速率4.2 执行分区重分配时设置4.3 限制producer端速率方法1: 设置broker端静态参数quota.producer.default参数方法2:设置动态参数producer_byte_rate5. 配额算法6. 可能的问题2.入口1.视界

2021-03-24 22:42:41 318

原创 95-10-035-启动-Metrics

1.视界1.入口方法/* create and configure metrics */val reporters = new util.ArrayList[MetricsReporter]// 默认会创建添加JMXReporter对象reporters.add(new JmxReporter(jmxPrefix))val metricConfig = KafkaServer.metricConfig(config)metrics = new Metrics(metricConfig, re

2021-03-24 22:41:57 111

原创 95-10-030-启动-deamon定时任务

1.视界1.概述kafka启动的时候,初始化了kafkaSchedule定时调度器:kafkaScheduler,该调度器是全局共享的。 承担了logManager模块中的日志归档,日志刷新、检查点恢复,日志的offset检查,过期日志的删除。ReplicaManager模块中的高水位检查,ISR过期检查,ISR变更处理,空闲ISR停止2. 入口kafka.server.KafkaServer#startup/** start scheduler * daemon定时任务处理线程池

2021-03-24 22:41:18 111

原创 95-10-025-启动-BrokerId相关

1.视界1.概述kafka启动的时候,初始化了BrokerId2. 入口kafka.server.KafkaServer#startup /** Get or create cluster_id 格式如:oAm52n7NSaugaePYYVS1EA * 唯一标识有一个集群,如果已经存在那么直接返回 * */_clusterId = getOrGenerateClusterId(zkClient)info(s"Cluster ID = $clusterId")/* genera

2021-03-24 22:40:36 115

原创 95-10-020-启动-初始化ZK

1.视界1 概述kafka在启动的时候,初始化了kafka在zk上的相关信息。2 入口方法kafka.server.KafkaServer#startup/** setup zookeeper * 一个是连接到zk服务器; * 二是创建根节点。 * 三是创建根节点下的子节点 * */initZkClient(time)我们打开看看里面有什么3 初始化zk相关信息private def initZkClient(time: Time): Unit = { i

2021-03-24 22:40:00 173

原创 95-00-030-环境-IDEA构建源码阅读环境

1.视界1. 环境准备下载Hbase源代码github : https://github.com/apache/kafka然后导入IDEA2 修改repositories如果你能连接外网,或者外网比较好。可以不修改,否则的话尽量修改位置 /Users/lcc/IdeaProjects/source_code/kafka/build.gradlebuildscript { repositories { mavenCentral() jcenter() # 添加阿里

2021-03-24 22:38:46 83

原创 60-60-020-API-Kafka Java consumer动态修改topic订阅

1.视界关于Java consumer如何动态修改topic订阅的问题。仔细一想才发现这的确是个好问题,因为如果简单地在另一个线程中直接持有consumer实例然后调用subscribe进行修改,consumer端必然会抛出异常ConcurrentModificationException:KafkaConsumer is not safe for multi-threaded access和KafkaProducer不同的是,KafkaConsumer不是线程安全的,所以我们不能直接在没有同步保护的.

2021-03-24 22:38:00 208

原创 【Kafka】Kafka producer拦截器(interceptor)

Producer拦截器(interceptor)是个相当新的功能,它和consumer端interceptor是在Kafka 0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer允许用户指定多个interceptor按序作用于同一条消息从而形成一个拦截链(interceptor chain)。

2021-03-24 22:37:16 189 1

原创 60-40-040-序列化-Twitter 的Avro序列化

1.视界使用传统的 avro API 自定义序列化类和反序列化类比较麻烦,需要根据 schema 生成实体类,需要调用 avro 的 API 实现 对象到 byte[] 和 byte[] 到对象的转化,而那些方法看上去比较繁琐,幸运的是,Twitter 开源的类库 Bijection 对传统的 Avro API 进行了封装了和优化,让我们可以方便的实现以上操作。1. 添加 Bijection 类库的依赖,并新建一个 schema 文件Bijection 类库的依赖如下:<dependency.

2021-03-24 22:36:24 101

hadoop 2.x 版本概要讲解,HA搭建指南

hadoop 2.x 版本概要讲解,HA搭建指南

2024-06-24

Eclipse Formatter 模板 Formatter.xml

Formatter模板设置好后,保存时可自动格式化代码。代码的空格处理,写的时候不用再担心格式问题。设置保存时,仅保存编辑的行,这样不会更新其他行的代码,提交代码时,也是只变更自己编辑的行。

2020-11-11

Drools-复杂事件处理

drools复杂事件处理,详细说明文档。一些语法的详细解析

2018-09-30

excel操作包

excel导入到数据库的工具包

2017-02-20

eclipse的hadoop插件

2016-09-14

hadoop学习文档

2016-09-14

hadoop单结点

hadoop单结点

2016-06-16

hadoop单结点配置

hadoop单结点配置,根据官网配置的实验

2016-06-16

native_32位

Hadoop配置需要的32位 native_32位

2016-06-16

s2sh整合配置,非常适合初学者,明白配置流程

非常适合初学者掌握ssh2整合的例子,献给初学者

2015-12-18

打飞机代码

一个打飞机游戏代码,全java写的,能实现打飞机的基本功能

2015-08-01

空空如也

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

TA关注的人

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