5 贾红平

尚未进行身份认证

本人喜欢技术,一致从事于大数据搜索推荐系统架构及其相关工作,最近几年开始熟悉人工智能和机器学习领域,擅长高可用高并发系统架构设计..技术的追求从没有停止过..

等级
博文 161
排名 3w+

mysqlbinglog-解析技术方案汇总

2019-05-09 18:13:56

apollo-使用注意事项

总结一下在使用apollo的有关注意事项1application和namespace配置了同样的key,会存在覆盖关系2关于客户端更新,Apollo默认定时频率默认为每5分钟拉取一次,客户端也可以通过在运行时指定SystemProperty:apollo.refreshInterval来覆盖3关于服务端更新,apollo是通过HttpLongPolling,他的本质...

2019-05-09 18:09:48

apollo-应用系统接入实例讲解

应用系统如何接入Apollo,接入方式比较多,针对使用的开发模式不同而不同>项目是纯java>项目是springboot>项目是springcloud,因为数据自生产系统都是基于微服务,所以我们就用这个进行详细介绍下面以校验系统为实例。进行说明1增加配置文件如下图所示配置文件说明 application.yaml:配置系统所有用...

2019-05-09 18:09:03

Apollo-原理以及架构图分析

核心组件ConfigService 提供配置获取接口 提供配置推送接口 服务于Apollo客户端 AdminService 提供配置管理接口 提供配置修改发布接口 服务于管理界面Portal Client 为应用获取配置,支持实时更新 通过MetaServer获取ConfigService的服务列表 ...

2019-05-09 18:07:57

apollo-整体介绍以及核心概念

简介Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。 功能介绍统一管理不同环境、不同集群的配置 Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。 ...

2019-05-09 18:06:45

分布式配置中心组件选型介绍

前提介绍 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 并且对配置的期望也越来越高,配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 并且随着采用分布式的开发模式,项目之间的相互引用随着服务的不断增多,相互之间的调用复杂度成指数升高,每次投产或者上线新的项目时苦不堪言,因此需要引用配置中心治理。 ...

2019-05-09 18:05:23

从分布式到微服务到Service Mesh

自从几十年前第一次引入分布式系统这个概念以来,出现了很多原来根本想象不到的分布式系统使用案例,但同时也引入了各种各样的新问题。当这些系统还是比较少比较简单的时候,工程师可以通过减少远程交互的次数来解决复杂性问题。处理分布式问题最安全的方法是尽可能避免远程交互,虽然这可能意味着要在多个系统上存放重复的逻辑和数据。行业上的需求推动着我们前进的步伐,分布式系统的组成从几个大型的中央电脑发展成为数...

2018-08-27 15:05:45

Lucene 学习总结之七-索引流程

1IndexReader打开索引文件,读取并打开指向索引文件的流。1.1.1、找到最新的segment_N文件1.1.2、通过segment_N文件中保存的各个段的信息打开各个段1.1.3、得到的IndexReader对象如下 2将查询语句转换为查询对象Query对象树2.1、创建Weight对象树,计算TermWeight2.2、重写Query对象树2.3、创建Weigh...

2018-08-19 17:59:45

Lucene学习总结之六:Lucene打分公式的数学推导

在进行Lucene的搜索过程解析之前,有必要单独的一张把Lucenescore公式的推导,各部分的意义阐述一下。因为Lucene的搜索过程,很重要的一个步骤就是逐步的计算各部分的分数。Lucene的打分公式非常复杂,如下:在推导之前,先逐个介绍每部分的意义:t:Term,这里的Term是指包含域信息的Term,也即title:hello和content:hello是不同的Term...

2018-08-19 16:55:38

Lucene学习总结之五:Lucene段合并(merge)过程分析

一、段合并过程总论IndexWriter中与段合并有关的成员变量有: HashSet<SegmentInfo>mergingSegments=newHashSet<SegmentInfo>();//保存正在合并的段,以防止合并期间再次选中被合并。 MergePolicymergePolicy=newLogByteSizeMergePolicy...

2018-08-19 16:45:21

Lucene学习总结之四:Lucene索引过程分析(4)

6、关闭IndexWriter对象代码: writer.close(); -->IndexWriter.closeInternal(boolean)      -->(1)将索引信息由内存写入磁盘:flush(waitForMerges,true,true);       -->(2)进行段合并:mergeSchedule...

2018-08-18 17:08:29

Lucene学习总结之四:Lucene索引过程分析(3)

5、DocumentsWriter对CharBlockPool,ByteBlockPool,IntBlockPool的缓存管理在索引的过程中,DocumentsWriter将词信息(term)存储在CharBlockPool中,将文档号(docID),词频(freq)和位置(prox)信息存储在ByteBlockPool中。 在ByteBlockPool中,缓存是分块(slice)分配的,...

2018-08-18 17:07:47

Lucene学习总结之四:Lucene索引过程分析(2)

3、将文档加入IndexWriter代码:writer.addDocument(doc);  -->IndexWriter.addDocument(Documentdoc,Analyzeranalyzer)      -->doFlush=docWriter.addDocument(doc,analyzer);           -->...

2018-08-18 17:06:50

Lucene学习总结之四:Lucene索引过程分析(1)

对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(mergesegments)的过程,本次不包括这两部分,将在以后的文章中进行分析。Lucene的索引过程,很多的博客,文章都有介绍,推荐大家上网搜一篇文章:《AnnotatedLucene》,好像中文名称叫《Lucene源码剖析》是很不错的。想要真正了解...

2018-08-18 15:53:05

Lucene学习总结之三:Lucene的索引文件格式(2)

四、具体格式上面曾经交代过,Lucene保存了从Index到Segment到Document到Field一直到Term的正向信息,也包括了从Term到Document映射的反向信息,还有其他一些Lucene特有的信息。下面对这三种信息一一介绍。4.1.正向信息Index–>Segments(segments.gen,segments_N)–>Field(fnm...

2018-08-18 15:35:10

Lucene学习总结之三:Lucene的索引文件格式(1)

Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。当我们真正进入到Lucene源代码之中的时候,我们会发现:Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。 Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。本文详细解读了Apach...

2018-08-18 14:58:33

Lucene学习总结之二:Lucene的总体架构

Lucene总的来说是:一个高效的,可扩展的,全文检索库。 全部用Java实现,无须配置。 仅支持纯文本文件的索引(Indexing)和搜索(Search)。 不负责由其他格式的文件抽取纯文本文件,或从网络中抓取文件的过程。在Luceneinaction中,Lucene的构架和过程如下图,说明Lucene是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点。让我...

2018-08-18 14:36:52

Lucene学习总结之一:全文检索的基本原理

一、总论根据http://lucene.apache.org/java/docs/index.html定义:Lucene是一个高效的,基于Java的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库...

2018-08-18 14:32:46

分布式事物解决方案和实例

 分布式事物解决方案分布式事物事物特性(acid)原子性(A)所谓的原子性就是说,在整个事务中的所有操作,要么全部完成,要么全部不做,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。一致性(C)事务的执行必须保证系统的一致性,就拿转账为例,A有500元,B有300元,如果在一个事务里A成功转给B50元,那么不管并发多少,不管发...

2018-08-14 11:55:55

java 实现首字母小写

publicstaticStringlowerFirstCapse(Stringstr){char[]chars=str.toCharArray();chars[0]+=32;returnString.valueOf(chars);}ascii码表中a的ASCIII码值是65而A的ASCII码值是 97两个之间的差值是32,所以,如果我们需要把...

2018-08-02 20:55:22
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。