自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(484)
  • 资源 (7)
  • 收藏
  • 关注

转载 Elasticsearch Suggester详解

转https://elasticsearch.cn/article/142现代的搜索引擎,一般会具备"Suggest As You Type"功能,即在用户输入搜索的过程中,进行自动补全或者纠错。 通过协助用户输入更精准的关键词,提高后续全文搜索阶段文档匹配的程度。例如在Google上输入部分关键词,甚至输入拼写错误的关键词时,它依然能够提示出用户想要输入的内容:...

2019-07-02 09:39:11 1092 1

转载 使用Apache commons-maths3-3.6.1.jar包进行简单的数据统计分析(java)

package com;import org.apache.commons.lang.math.Range;import org.apache.commons.lang3.StringUtils;import org.apache.commons.math3.stat.StatUtils;import org.apache.commons.math3.stat.descriptive....

2019-02-14 18:10:49 5363 2

原创 hive jdbc中通过HiveStatement.getQueryLog无法拉取到执行日志的问题分析与解决

问题描述公司内部查询服务将hive从1.1升级到2.3.3版本之后,通过HiveStatement.getQueryLog无法拉取到执行日志了,原来是可以拉取到类似控制台执行hive时候那样的日志,包括queryid, mapreduce个数等等信息。问题排查首先将测试环境的hiveserver2开启debug模式,远程debug端口默认是8000,这里我改成了8101,因为8000被其...

2018-11-20 19:15:38 6484 3

原创 自己动手实现一个简单的ORM框架

这里写自定义目录标题一个最简单的ORM总结下来就两部分:解析自定义注解,生成元数据信息生成一个动态代理最后,我们测试一下功能一个最简单的ORM总结下来就两部分:* 根据entity上的自定义注解生成mapping元数据信息* 生成mapper接口的动态代理,根据具体的方法,动态生成sql并执行sql,然后通过反射的方式映射到具体的实体对象上去解析自定义注解,生成元数据信息首先我们先定义...

2018-11-19 16:38:47 2839

转载 Exception Handling in Spark Data Frames

http://anishc.me/spark/exception-handling-spark-data-frames/ Exception Handling in Spark Data Frames 7 minute readGeneral Exception HandlingHandling exceptions in imperative programming in e...

2018-11-01 14:34:57 475

原创 通过spring提供的DeferredResult实现长轮询服务端推送消息

  DeferredResult字面意思就是推迟结果,是在servlet3.0以后引入了异步请求之后,spring封装了一下提供了相应的支持,也是一个很老的特性了。DeferredResult可以允许容器线程快速释放以便可以接受更多的请求提升吞吐量,让真正的业务逻辑在其他的工作线程中去完成。最近再看apollo配置中心的实现原理,apollo的发布配置推送变更消息就是用Deferred...

2018-10-07 11:28:59 10679 5

原创 springcloud 和apollo配置中心一起使用时踩到的一个坑

场景描述:今天收到线上一个服务的instance deregistered的告警邮件,在springboot admin上确实那个instance不在线了。于是去服务器上jps看了一下,进程正常的,但是/health端点信息显示eureka为down。查看error.log,并没有错误日志,查看warn.log,发现里面有些许的警告日志如下:[2018-09-20T19:12:24.159...

2018-09-23 18:06:39 11230 6

转载 阿里重磅开源在线分析诊断工具Arthas(阿尔萨斯)

github地址:ArthasEnglish version goes here.Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法...

2018-09-19 16:57:23 98698 7

原创 源码角度理解dubbo是如何创建一个具体的Protocol类的

首先基于dubbo的扩展机制,Protocol生成起始自适应的代理类Protocol$Adaptive(在com.alibaba.dubbo.common.extension.ExtensionLoader#createAdaptiveExtensionClass方法中生成的类字符串并编译成字节码加载的):package com.alibaba.dubbo.rpc;import com.a...

2018-08-31 16:24:00 422

转载 Spring Cloud中,Eureka常见问题总结

转自http://www.itmuch.com/spring-cloud-sum-eureka/Spring Cloud中,Eureka常见问题总结。指定Eureka的Environment   1   eureka.environment: 指定环境 参考文档:https://github.com/Netflix/eur...

2018-08-24 17:12:58 394

转载 Spring Cloud Netflix Eureka - The Hidden Manual

https://blog.asarkar.org/technical/netflix-eureka/Spring Cloud Netflix Eureka - The Hidden Manual 10 minute readIntroductionIn 2015-2016, we redesigned a monolithic application into Microservi...

2018-08-24 15:56:14 404

原创 dubbo中关于@reference注解无法配置MethodConfig的解决方法

本文针对目前为止最新的dubbo版本2.6.2中存在的问题,ReferenceConfig中有一个List<MethodConfig> methods属性,但是@Reference注解里面并没有可以配置这个属性的地方(听dubbo的committer说下个版本会修复),以前写过一篇设置timeout属性的文章,可以通过parameters曲线救国,但是有些属性是不管用的,比如本次要说的...

2018-08-06 13:51:01 15343 2

原创 最新的dubbo 2.6.2版本中@Service注解的parameters配置BUG和解决方案

在描述这个BUG之前,我想先说一个需求场景,假设我们有一个DemoService接口:public interface DemoService { String sayHello(String name); String sayHello2(String name);}我们想单独设置这两个方法的超时时间,该如何设置呢?当然我们可以在consumer端通过@Refer...

2018-07-26 15:07:09 10573 2

原创 通过一个springcloud stream kafka metrics的BUG的解决来了解kafka binder的初始化流程。

首先,从官方文档上摘录了两段文档说明:34. Metrics EmitterSpring Cloud Stream provides a module called spring-cloud-stream-metrics that can be used to emit any available metric from Spring Boot metrics endpoint to a name...

2018-05-04 16:15:49 4825

原创 从源码中理解spring cloud kafka stream 是如何分配kafka的partitions给不同的instance的

首先,kafka的topic是由多个partitions物理分隔的。假设topic: testIn,有8个partitions其次,我们编写的springcloud kafka stream程序,打成jar包后,可以部署多个不同的实例instances,假设部署了3个instance。那么这3个instance是怎么分配这8个partitions的呢?在spring.cloud.stream.ka...

2018-05-02 15:09:31 4971 1

转载 干货:流计算框架 Flink 与 Storm 的性能对比

https://cloud.tencent.com/developer/article/1007474本文主要介绍当前业界广泛使用的两个分布式实时计算框架flink与storm的性能对比,希望对你有所帮助。1. 背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有...

2018-04-05 11:38:58 4891

原创 flink中对于window和watermark的一些理解

首先window的时间范围是一个自然时间范围,比如你定义了一个TumblingEventTimeWindows.of(Time.seconds(3))窗口,那么会生成类似如下的窗口(左闭右开):[2018-03-03 03:30:00,2018-03-03 03:30:03)[2018-03-03 03:30:03,2018-03-03 03:30:06)...[2018-03-03 03:30:...

2018-04-02 11:43:30 5721 2

转载 Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失

http://www.spring4all.com/article/948在Spring Cloud中我们用Hystrix来实现断路器,Zuul中默认是用信号量(Hystrix默认是线程)来进行隔离的,我们可以通过配置使用线程方式隔离。在使用线程隔离的时候,有个问题是必须要解决的,那就是在某些业务场景下通过ThreadLocal来在线程里传递数据,用信号量是没问题的,从请求进来,但后续的流程都是通...

2018-03-27 09:26:53 1939 2

转载 kafka-streams faq

https://docs.confluent.io/current/streams/faq.htmlFAQAttentionWe are looking for feedback on APIs, operators, documentation, and really anything that will make the end user experience better. Feel fre...

2018-03-25 22:06:11 1016

转载 基于JAVA的模块化开发框架JarsLink

阿里妹导读:JarsLink是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(JAR包)、卸载模块和模块间调用的API,它能够帮助你进行模块化开发,也能帮助你的系统在运行时动态添加新功能,减少编译、打包和部署带来的发布耗时,同时它也是阿里巴巴的开源项目之一,目前在蚂蚁金服微贷事业群各团队广泛使用。开源地址:https://github.com/alibaba/jarslink需求背景...

2018-03-22 16:54:08 724

转载 Kafka Streams Exactly Once Design

https://docs.google.com/document/d/1pGZ8xtOOyGwDYgH5vA6h19zOMMaduFK1DAB8_gBYA2c/edit#Kafka Streams Exactly Once DesignThis document serves to describe the detailed implementation design of KIP-129: St...

2018-03-19 12:03:11 564

转载 版本号命名指南

来源:koala bear ,wsfdl.com/devops/2016/09/27/版本号.html首先看看某些常见软件的版本号:Linux Kernel: 0.0.1,1.0.0,2.6.32,3.0.18…,若用 X.Y.Z 表示,则偶数 Y 表示稳定版本,奇数 Y 表示开发版本。Windows:windows 98,windows 2000,windows xp,windows 7…,最大...

2018-02-24 09:19:03 340

原创 spring cloud zuul网关服务重试请求配置和源码分析

我们一般部署服务的时候,都会部署一个网关服务,内部所有的其他微服务的调用,都将通过网关路由过去,不对外直接暴露,对外只暴露网关服务。而且一般内部服务会部署多个实例,zuul集成了ribbon,会自动负载均衡的方式去调用内部服务。当内部服务滚动重启的时候,通过网关的一个请求刚好路由到重启的那个实例的话,因为默认没有开启zuul的请求重试策略,该请求将会报错,其实理想的方式可以通过重试路由到另外一个活...

2018-02-13 12:06:02 8159

原创 为feign client增加请求重试机制

spring cloud通过feign client进行服务之间调用的时候,默认不会进行重试,这样会有一个问题,比如你的服务在滚动升级重启的时候,feign的调用将直接失败,但其实我是滚动重启,重启了一个服务实例,还有另外一个服务实例是可用的,应该允许自动均衡策略重试请求发送到另外一个可用的服务实例上去。要启用重试机制,首先必须引入spring-retry依赖: <depend...

2018-02-08 18:14:43 5730 2

原创 Better application events in Spring Framework 4.2

https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2spring的事件驱动编程有增强,以前自定义事件必须要继承ApplicationEvent,现在不是必须的,可以随便建一个对象,spring内部会封装成PayloadApplicationEvent发送出去,而且事件监听方法可以有返回

2018-01-18 11:35:49 280

原创 由springcloud ribbon的 @LoadBalanced注解的使用理解

在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力: @Bean @LoadBalanced RestTemplate restTemplate() { return new RestTemplate()

2017-12-27 22:40:46 32640 14

原创 关于protostuff序列化使用的注意事项

网上看了许多关于protostuff序列化和json序列化性能的对比,普遍表示protostuff序列化后的大小要比json序列化后的大小要小,但是我今天在将一个比较大的数组通过两种不同的方式序列化的时候,发现protostuff的大小比json要大很多。顿时有点怀疑人生,经过反复的测试发现了其中的原因。问题复现:假设原始数据是一个类似这样的json字符串(我把里面数组的元素拷贝了520个

2017-12-27 17:51:28 5210

原创 控制docker-compose中服务的启动顺序

官方文档:https://docs.docker.com/compose/startup-order/可以通过depends_on来编排服务之间的依赖关系,但是有一个问题,比如一个web项目,依赖一个数据库或者依赖一个redis服务,那么要等到数据库完全准备好之后,才能让web服务开始启动并连接数据库,docker默认的依赖方式是只要依赖数据库服务容器启动就会启动web容器,而不 检查数据库是

2017-11-30 15:37:40 17942

转载 [慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定

[慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定写在前面的话:   不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程;   不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小;    但把mysql客户端(如SQLyog

2017-11-14 11:30:43 396

原创 通过HystrixCollapser合并请求提高应用吞吐量

我们知道elasticsearch可以通过指定index和doc id来获取某个doc的,也支持mget的方式,发送一次请求,将多个doc id发送过去查询出相应的docs。这样做可以有效的减少发往ES的请求数,降低ES的负载。在web应用层通过HystrixCollapser合并单个get请求为mget请求的处理方式,就能大大提升系统的TPS.以下为代码示例://利用hy

2017-11-02 14:03:14 5273 3

原创 spring cloud stream kafka 动态写入不同的topic(Using dynamically bound destinations)

引入依赖: org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-web

2017-11-01 14:30:30 7025 1

原创 spring cloud stream配置多个kafka binders

实际工作中可能在一个工程里面同时连接多个不同的kafka集群读写数据,spring cloud stream也提供了类似的配置方式,首先给出一个demo配置:spring: cloud: stream: #指定用kafka stream来作为默认消息中间件# default-binder: kafka# kafka:# #来自Ka

2017-10-31 10:31:17 18780 3

原创 springboot logback扩展

26.6 Logback extensionsSpring Boot includes a number of extensions to Logback which can help with advanced configuration. You can use these extensions in your logback-spring.xmlconfiguration

2017-10-10 16:32:27 1908

原创 使用redis-stat来监控redis实例

由于redis-stat使用ruby写的,编译的时候要先装ruby,要大于1.9.3版本的ruby。这里我是从源码编译安装的ruby-2.1.10.tar.gz:tar zxvf ruby-2.1.10.tar.gzcd ruby-2.1.10./configure –prefix=/usr/local/rubymake && make install如果不定制安装

2017-10-10 10:15:14 4391 2

转载 feignclient设置hystrix参数

序feign默认集成了hystrix,那么问题来了,如何像hystrix command那样设置每个方法的hystrix属性呢。实例@FeignClient("product")public interface RemoteProductService { @RequestMapping(method = RequestMethod.GET,value = "/produc

2017-10-08 13:37:02 4206 3

原创 关于springcloud kafka binder的一个关于consumer group设置的一个bug

我们可以通过spring.cloud.stream.kafka.bindings.springCloudBusInput.consumer.group来指定默认总线topic:spingCloudBus的consumer group,比如设置成${spring.application.name}:${spring.application.index},这样我们在kafka manager界面上可以

2017-09-29 13:34:27 3420

原创 使用kafka作为springcloud bus的消息总线,以及如何自定义总线事件

springcloud bus默认只支持rabbitmq和kafka两个binder,当然也是可以自己写binder扩展,本文主要介绍使用kafka 作为binder来提供消息总线服务,最新稳定版的Dalston.SR3默认使用的是kafka 0.10.1.1版本,如果你的kafka集群不是这个版本的话,需要整理一下依赖(排除原来的依赖,添加新的kafka相关依赖,官方文档有详细说明),不过也只支

2017-09-27 18:13:41 22729 2

原创 spring cloud config server使用svn来作为外部配置中心

默认情况下config server是使用git来作为配置中心的,由于还是有许多公司还是用svn来作为版本管理工具,幸好config server服务也支持svn配置,下面就来试验一下服务端配置:新建一个config-server项目,pom文件:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://

2017-09-20 10:11:53 16329 3

原创 改变eureka server中注册的服务的健康检测方式

默认情况下注册到eureka server的服务是通过心跳来告知自己是UP还是DOWN,并不是通过spring-boot-actuator模块的/health端点来实现的,这样其实不是很合理。默认的心跳实现方式可以有效的检查eureka客户端进程是否正常运作,但是无法保证客户端应用能够正常提供服务。由于大多数微服务应用都会有一些其他的外部资源依赖,比如数据库,REDIS缓存等,如果我们的应用与

2017-09-15 15:36:54 22757 2

原创 springboot admin 监控hystrix

spring cloud提供了hystrix dashbord用来监控hystrix,但是既然springboot admin提供了单个应用的那么多好用的管理功能和监控,那么就整合在一起方便管理和查看吧。springboot admin提供了spring-boot-admin-server-ui-hystrix用来整合hystrix。动手试一试基本项目结构如下图:p

2017-09-14 18:15:16 9610 8

我的windows系统的nc工具

windows系统的nc工具,类似于linux上的nc。 nc.exe -l -p 9999,监听9999端口

2018-04-02

kafka-manager

kafka-manager最新编译可运行包

2015-05-19

jsonserde.jar

hive json 序列化与反序列化工具类q

2014-11-16

wordcount.jar

mapreduce

2014-10-22

delphi写的DLL子窗体生成为主程序的TabSheet

delphi写的DLL子窗体生成为主程序的TabSheet,主程序调用DLL来生成窗体,并把窗体变成主程序上的一个TabSheet,这样更利于模块化分工开发,目前我们ERP项目就是采用这种客户端架构,本例只是粗略的描述下这个功能。提供给读者广泛的想象空间,可以自己去发挥

2008-09-26

Dephi写的用IdUDP实现的P2P聊天软件

自己用IdUdp写的一个聊天工具,比较粗糙,基本的一些聊天的功能都有了,可能代码还有点乱,delphi 7 在WIN XP系统中测试通过,如果在同一电脑上运行两个客户端,请把Listen的2008端口改一改,否则会报错,说2008端口已占用

2008-09-26

cd_catalog.xml

把这个文件导入到HTML页面

2007-08-02

空空如也

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

TA关注的人

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