自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

腊八粥

各种笔记,各种Tips,各种Life

  • 博客(65)
  • 资源 (4)
  • 收藏
  • 关注

原创 RocketMQ 开发总结

开发总结(1)Win10环境,RocketMQ4.2.0 找不到或无法加载主类XXXXXX

2019-11-12 10:45:18 239

原创 kafka 基本原理 源码解读 开发总结

到目前为止,用过kafka1.1.0——>2.0.0——>2.1.0等多个版本,作为流数据管道或者消息队列,kafka确实性能强大。之前使用过程中,也遇到很多问题,但是没有总结,很快就会淡忘,因此觉得有必要对kafka做一个学习汇总。基本原理Kafka基本原理(一)windows环境下kafka伪分布式集群环境搭建 Kafka基本原理(二)Kafka简述 Kaf...

2019-04-01 14:50:54 462

原创 ElasticSearch 基本原理 应用开发 开发总结 源码解读

随着ElasticSearch的广泛应用,关于ES的相关博客、书籍、视频等内容也越来越多,但是相关的一些基本原理的内容还是比较缺乏。算起来,从接触ES到现在已经三年多了,这个博客系列,包含自己学习、使用过程中遇到的问题及解决思路、解决办法,也包含一些基本知识、基本原理的内容,自己也总结一下,总归有些收获。个人用过ES1.7——>2.1——>5.2——>6.3——>6.6等多...

2019-02-02 11:27:59 531

原创 Lucene 基本原理 导读

关于Lucene,已经有很多相关博客,有相当的一部分讲的很好且十分详细,自己从开始学习到现在也是受益匪浅。但是,关于Lucene原理部分的内容,大部分讲的过于浅甚至没有,只有一小部分讲到原理,讲的深入的则更少。于是,自己做了一个总结,以下内容,有自己原创的,有转载的,相信通过以下内容,对于Lucene可以有更加深入的了解。Lucene 基本原理1.Lucene 基本原理(一)初识...

2019-02-02 09:35:07 334

原创 ElasticSearch 应用开发(十二)term query和match query、filter和must区别

term query和match query、filter和must区别1.term query和match query区别2.Query和Filter区别1.term query和match query区别针对字段类型是text类型,term 和 match 的最大区别是:term搜索时不分词match搜索时需要分词term用于精确查询,match用于全文检索其中,match等于是...

2020-01-15 18:41:28 2428

原创 Tomcat响应https请求引起的一次Bug

问题描述:接到一个需求,也是很简单。如果是Https请求重定向到一个地址,是Http请求重定向到另一个地址。代码很快写完了,开始测试。1.Bug出现为了调试,把请求路径的日志打印出来:String url = request.getRequestURL().toString();logger.info("url:"+url);https的请求的url中对应的端口号没了,h...

2020-01-15 17:11:08 548 1

原创 ElasticSearch源码(一)ElasticSearch5.6.16源码导入idea环境搭建

想读ElasticSearch源码,从git上拉取代码,导入idea。就是这么简单的一个想法,记录一下过程。1.准备1.1哪个版本?ElasticSearch版本更新真的是很快,每个版本都有大量的新特性,想读源码之前总得闹清楚,想读哪个版本的吧?本文用5.6.16 为什么是这个版本?(1)5.x版本,这个版本应该是最新的,公司的ES集群还在5.x,没有进行大的升级(...

2020-01-09 18:57:32 895

原创 ElasticSearch 基本原理(六)字段类型

ElasticSearch往集群中进行操作都是以JSON格式为标准,JSON支持的字段类型,决定了ElasticSearch的动态映射字段推断的字段类型。1.JSON字段类型在 JSON 中,值必须是以下数据类型,对应示例如下字段类型 示例 字符串 { "name":"John" } 数字 { "age":30 } ...

2020-01-06 17:41:45 499

原创 ElasticSearch 应用开发(十一)ElasticSearch多数据源配置

开发过程中难免遇到多个ElasticSearch数据源的配置问题,如果类同于项目中关系型数据库Mysql的多数据源,那么在实际业务场景中ElasticSearch的多数据源需求更迫切。在项目中只需要有Spring即可,没必要是Spring-data-elasticsearch,如果引入Spring-data-elasticsearch需要特别注意集成es版本和服务器中es集群版本。1...

2019-12-25 18:20:01 1851

原创 ElasticSearch 应用开发(十)Transport Client和Rest Client网络协议

TransportClient和RestClient 网络协议的对比(1)TransportClient:java客户端的方式是以TCP协议在9300端口上进行通信:TransportClient、NodeClient(2.3版本弃用);java transportClient api提供了Query Builder来协助构建查询对象;基于java api封装的orm框架,封...

2019-12-25 11:37:54 1269

转载 Kafka基本原理(六)——Controller 控制器

在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。当检测到某个分区的ISR集合发生变化时,由控制器负责通知所有broker更新其元数据信息。当使用kafka-topics.sh脚本为某个topic增...

2019-12-17 17:21:15 291

原创 ElasticSearch 开发总结(十)——分页 from/size与scroll与search after

ElasticSearch分页的几种方式与对比:(1)from/size (2)scroll (3)search after1.from size和 SQL 使用LIMIT关键字返回单个page结果的方法相同,Elasticsearch 接受from和size参数:size显示应该返回的结果数量,默认是10from 显示应该跳过的初始结果数量...

2019-12-12 15:41:28 1585

原创 ElasticSearch 开发总结(九)——SearchType:DFS_QUERY_THEN_FETCH和QUERY_THEN_FETCH

1.SearchTypeES的搜索类型 有一个类SearchType(如下图示),关于该类的描述:Search type represent the manner at which the search operation is executed.ES的搜索分scatter/gather两个步骤:scatter阶段:客户端向10个分片发起搜索请求;gather阶段:10个分片完...

2019-12-10 17:15:20 5873

原创 关于Dubbo多中心注册的大型事故现场

1.问题描述一个简单的需求,根据手机号获取用户信息。做完之后,多测试了几次,问题出现了:连续多次请求,用户信息返回不一致这个逻辑比较简单,Controller参数处理,Interface注入到Dubbo,实现层实现接口,查询数据库。2.解决过程一句话,一个条件,正常逻辑返回的数据应该是一样的,两次返回结果不一致,简直就是幽灵一样,不知道是哪里的问题。2.1.缓存...

2019-12-06 15:53:27 238

翻译 Kafka基本原理(五)配置

kafka配置很多,分Broker配置、Topic配置、producer配置、consumer配置、Connect配置、AdminClient配置。详细内容见kafka中文官网。其中,很多配置并不需要修改,除非有需要使用默认值更好。1.Broker配置核心基础配置broker.id 用于服务的broker id。如果没设置,将生存一个唯一broker id。 log....

2019-11-18 11:12:58 288

原创 Kafka基本原理(四)消费者

1.消费者组概念一个消费者属于消费者组。一个群组里的消费者订阅的是同一个主题,每个消费者接收主题的一部分分区消息。一个主题可以被多个消费群组使用,消费者群组之间互不影响。假设一个Topic有四个分区,有两个消费者组,分配情况如下:注意:不要让一个consumer group的消费者数量多于订阅主题的分区数,多于的消费者只会被闲置。2.创建消费者消费者正常的消费逻辑,如下:...

2019-11-18 10:56:10 352

原创 Kafka基本原理(三)生产者

1.生产者组件生产者,发送消息到broker,流程图如下:流程大概如下:1.创建ProducerRecord对象,对象内指定目标主题和发送内容,同时还可以指定键和要发送到的分区。2.创建定制的序列化器或使用现有的序列化器,Kafka支持的序列化协议有JSON、Protobuf、arvo等,其中arvo是Kafka本身支持的定制化协议格式。3.对象通过序列化器序列化后,会被发...

2019-11-15 15:52:14 386

原创 Kafka基本原理(二)Kafka简述

对消息中间件而言,一般有两种消息投递模式:p2p 点对点模式和 Pub/Sub发布/订阅模式,Kafka属于后者。1.什么是Kafka?Kafka作为消息系统,是基于发布-订阅模型的消息系统; Kafka 作为存储系统,能够存储和持续处理大型数据流; Kafka用做流处理,实时数据流平台;2.总体架构3.基本概念3.1生产者Producer生产者可以将数...

2019-11-14 18:56:10 305

原创 Kafka基本原理(六)——Zookeeper与Controller

Kafka依赖ZooKeeper,使用ZooKeeper保存集群中broker、主题、分区的元数据信息和消费者信息,随着版本的更新(0.9.0.0),这种依赖性正在逐步减轻。老版本的Kafka,消费者的群组信息、主题信息、消费分区的偏移量等等也是存储在ZooKeeper,新版本Controller的加入允许broker直接维护这些信息,减少了broker和Zookeeper的联系,提高了系统的健...

2019-11-14 18:09:34 1845

原创 Kafka开发总结(一)Execpted value to be string, but it was a java.lang.Integer

1.问题用kafka的时候,出现这么个异常:org.apache.kafka.common.config.ConfigExecption:Invalid value 1 for Configuration acks :Execpted value to be string, but it was ajava.lang.Integer2.思考错误,提示比较明显:1.配置文件出...

2019-11-13 18:53:18 1803

原创 Win10环境,RocketMQ4.2.0 找不到或无法加载主类XXXXXX

1.问题描述为了本地测试,于是搭建一个RocketMQ的环境。随便找了一个教程,正常安装。很多教程也提到了“找不到或无法加载主类XXXXXX”这个异常,但是按照其他总结,并没有解决问题,于是把自己的过程记录一下。(1)启动“mqnamesrv.cmd”找不到jdk环境(2)启动“mqbroker.cmd”日志文件权限被拒绝,找不到日志文件2.思路针对问题(1),网...

2019-11-05 17:04:05 1759 1

原创 Mysql数据库,插入内容包含emoji表情错误:Incorrect string value: '\xF0\x9F\x98\x84'

1.问题描述项目需要把excel表格内容插入mysql,但是内容中包含emoji表情,特殊字符,出现错误Incorrect string value: '\xF0\x9F\x98\x84'2原因Mysql的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是emoji表情是4个字节,所以存储不了。为了解决这个问题,Mysql在5.5.3版本之后转而支持了存储4个字节的u...

2019-10-24 09:10:56 427

原创 AES算法加解密:java.security.InvalidKeyException: Illegal key size

1.问题描述(1)AES算法加解密的一个错误:java.security.InvalidKeyException: Illegal key size(2)本地没有报这个错误,代码推到线上,就出现这个异常2.解决思路(1)首先,百度之后,解决方案也很多 如java.security.InvalidKeyException: Illegal key size等,按照提...

2019-08-29 17:08:43 690 1

原创 ElasticSearch 开发总结(八)——ElasticSearch 两次完全一样的搜索语句,第一次和第二次的返回结果不一致

一、问题描述针对ElasticSearch进行搜索,两次完全一致的搜索语句(在两次搜索过程中,没有更新、删除、新增等操作),第一次和第二次的返回结果不一致,之后的搜索结果又没有变化。这种异常不是很常见,不容易复现,之前遇到过,没放在心上,于是上官网查了查。二、个人总结1.首先,可能是ES近实时的特性的影响,因为更新、新增等操作并不是实时的(详见:ElasticSearch 基...

2019-07-24 18:20:43 4389

原创 Win10安装pytorch:出现异常——CondaHTTPError: HTTP 000 CONNECTION FAILED for url

Win10安装pytorch顺序先安装Anaconda; cuda选择none; 安装pytorch;1.Anaconda下载官网下载https://www.anaconda.com/distribution/太慢解决办法:1.使用清华镜像下载(有一段时间不能用,现在可以了,使用前去官网看一下):https://mirrors.tuna.tsinghua.edu.cn/a...

2019-07-16 11:10:30 6434 3

原创 小结:分布式系统全局唯一Id生产策略

1.ID生成系统的需求1.全局唯一性:不能出现重复的ID,最基本的要求;2.趋势递增:MySQL InnoDB引擎使用的是聚集索引,由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应尽量使用有序的主键保证写入性能;3.单调递增:保证下一个ID一定大于上一个ID;4.信息安全:如果ID是连续递增的,恶意用户就可以很容易的窥见订单号的规则,从而猜出下一个订单号...

2019-05-24 11:39:57 274

原创 计算机网络(四)RPC服务和HTTP服务对比

工作中用过很多RPC的调用,也用过很多Http的调用,总而言之就是调用第三方的接口。除了应用场景之外,其实,两者之间是有本质区别的。1.RPC 和HTTP并不是一个并行概念1.1.认识RPCRPC,即 Remote Procedure Call(远程过程调用),是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。说得通...

2019-05-22 14:24:20 648 1

转载 ElasticSearch 应用开发(八)Transport Client和Rest Client对比

本文将重点探讨ElasticSearch Client的相关知识,重点关注TransportClient与Rest Client。Elasticsearch client 是我们进入ElasticSearch的大门。1、概述所有Elasticsearch操作都是使用Client对象执行的。Client 定义的所有API都是异步执行的。(要么使用事件监听器回调或者使用Future模式)El...

2019-05-21 16:25:50 5896

原创 计算机网络(三)TCP、UDP区别和联系

TCP(Transmission Control Protocol 传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议),在计算机网络体系结构中,存在于传输层。1.TCP、UDP区别1.1TCP协议特点TCP是面向连接的传输协议; 每一条TCP连接只能有两个端点,每一条TCP连接只能点对点(一对一); TCP提供可靠交付; TCP提供全双工通...

2019-05-21 16:24:09 536

转载 计算机网络(二)图解:TCP三次握手和四次挥手

计算机网络体系结构传输层TCP协议中,TCP连接的建立需要三次握手、 断开需要四次挥手,过程如下。1.TCP 三次握手TCP 三次握手就好比两个人在街上隔着50米看见了对方,但是因为雾霾等原因不能100%确认,所以要通过招手的方式相互确定对方是否认识自己。张三首先向李四招手(syn),李四看到张三向自己招手后,向对方点了点头挤出了一个微笑(ack)。张三看到李四微笑后确认了李四成功...

2019-05-21 16:22:54 566

原创 计算机网络(一)图解:计算机网络五层体系结构

1.概述计算机网络体系结构有很多背景知识(略过),具体来说网络体系结构有三种:OSI七层体系结构 TCP/IP 四层体系结构 五层体系结构(综合了 OSI 和 TCP/IP 的优点)三种体系结构对应图示:2.计算机网络五层体系结构2.1五层体系结构图五层体系结构各层对应的数据单元五层体系结构各层对应的中间设备2.2五层体系结详解  典...

2019-05-21 16:08:45 40990 4

原创 Kafka基本原理(一)windows环境下kafka伪分布式集群环境搭建

为了本地测试,又不得不在windows环境下,搭建kafka伪分布式集群,记录一下过程注意:以下所有目录,都不要出现空格!!!伪分布式集群节点个数配置:zookeeper 和 kafka 分别3个节点1.前期准备JDK 1.8 安装并测试; zookeeper,下载地址:https://zookeeper.apache.org/releases.html; kaf...

2019-04-17 11:26:10 713 2

原创 kafka源码解读(一)kafka2.x读源码环境搭建

在windows下,使用idea 阅读kafka2.x源代码1.前提必读 kafka ReadMehttps://github.com/apache/kafka/blob/trunk/README.mdApache KafkaSee ourweb sitefor details on the project.You need to haveGradleandJ...

2019-04-01 14:38:58 2418

原创 ElasticSearch 应用开发(八)Java High Level Rest Client——Java API

1.概述Java High Level REST ClientElasticsearch 官方高级客户端: 基于低级客户端,提供特定的方法的API,并处理请求编码和响应解码Java高级REST客户端可以在Java Low Level REST客户机之上工作。 其主要目标是公开特定方法的API,接受请求对象作为参数并返回响应对象,以便客户端自己处理请求编组和响应解组。每个API可以同...

2019-04-01 09:39:49 4419 1

原创 ElasticSearch 应用开发(七)Java Low Level Rest Client——Java API

1.概述Java restclient分为两种:Java Low Level Rest Client(本节介绍重点)、Java HighLevel Rest Client(下节介绍)。Java Low Level Rest ClientElasticsearch 官方低级客户端: 通过http协议 与Elasticsearch服务进行通信。请求编码和响应解码保留给用户实现。与...

2019-04-01 09:39:39 3335

原创 ElasticSearch 应用开发(六)TransportClient——Java API(2)

接上篇,继续介绍transportclient Java API4.AggregationsElasticSearch搜索时用的Aggregations与关系型数据库Mysql中 count() gropy by max min avg等聚合函数类似。Aggregations 包含两个重要的概念:1.桶(bucket):数据分组。与group by类似;2.指标(me...

2019-04-01 09:39:29 592

原创 ElasticSearch 应用开发(五)TransportClient——Java API(1)

TransportClient Java API主要是给Java开发者的开发接口,RESTful的所有请求几乎都有与之对应的Java API,接下来将简单介绍1.JavadocThe javadoc for the transport client can be found athttps://artifacts.elastic.co/javadoc/org/elasticsearch/...

2019-04-01 09:39:13 846

原创 ElasticSearch 应用开发(四)Java Client 连接ElasticSearch集群方法的对比与总结

ElasticSearch 应用开发(二)Java Client 连接ElasticSearch集群ElasticSearch 应用开发(三)基于commons-pool2和TransportClient的ElasticSearch连接池上述内容,介绍java client连接Elasticsearch的方法,简单做一个对比和总结1.对比1.1单线程测试获取连接地址(a)Tra...

2019-04-01 09:38:31 1126

原创 ElasticSearch 开发总结(七)—— failed to send join request to master[...] reason RemoteTransportException

ElasticSearch版本6.6.1本地搭建了一个包含三个节点的ELasticsearch集群,作为测试环境,三个节点都是这样的错:failed to send join request to master。具体错误日志如下:[2019-03-11T18:00:19,521][INFO ][o.e.d.z.ZenDiscovery ] [slave] failed to se...

2019-03-12 09:51:31 5763

原创 ElasticSearch 应用开发(三)基于commons-pool2和TransportClient的ElasticSearch连接池

Java Client连接Elasticsearch集群,如果用单例模式或者SpringBean(本质也是单例模式),若项目多个模块都要使用Client进行增删改查,就需要进行池化。利用commons-pool2可以自定义对象池,基于此,可以实现线程池的方式连接Elasticsearch集群1.commons-pool2以下博客,对commons-pool2进行介绍,基本上可以理...

2019-03-11 15:51:22 2165

python3.6 pytorch-cpu-1.1.0和torchvision-cpu.zip

pytorch-cpu-1.1.0-py3.6_cpu_1.tar.bz2和torchvision-cpu-0.3.0-py36_cuNone_1.tar.bz2

2019-07-04

python3.5 pytorch-cpu-1.1.0和torchvision-cpu.zip

pytorch-cpu-1.1.0-py3.5_cpu_1.tar.bz2和torchvision-cpu-0.3.0-py35_cuNone_1.tar.bz2 多个工具包,官网下载很慢

2019-07-04

算法 谢路云 (译)书中两个jar包stdlib.jar和algs4.jar

算法 很经典的书,初学者必备的。书中的两个jar包stdlib.jar和algs4.jar,已经准备好,可以导入直接使用,并且有提示

2016-04-04

mysql-connector-5.1.7

2016-03-13

空空如也

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

TA关注的人

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