自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Elasticsearch Suggester详解

转https://elasticsearch.cn/article/142 现代的搜索引擎,一般会具备"Suggest As You Type"功能,即在用户输入搜索的过程中,进行自动补全或者纠错。 通过协助用户输入更精准的关键词,提高后续全文搜索阶段文档匹配的程度。例如...

2019-07-02 09:39:11 212 0

转载 使用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...

2019-02-14 18:10:49 1695 1

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

问题描述 公司内部查询服务将hive从1.1升级到2.3.3版本之后,通过HiveStatement.getQueryLog无法拉取到执行日志了,原来是可以拉取到类似控制台执行hive时候那样的日志,包括queryid, mapreduce个数等等信息。 问题排查 首先将测试环境的h...

2018-11-20 19:15:38 2198 2

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

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

2018-11-19 16:38:47 1441 0

转载 Exception Handling in Spark Data Frames

http://anishc.me/spark/exception-handling-spark-data-frames/   Exception Handling in Spark Data Frames  7 minute read General Exception Handling ...

2018-11-01 14:34:57 200 0

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

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

2018-10-07 11:28:59 5568 3

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

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

2018-09-23 18:06:39 5885 0

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

github地址: Arthas English version goes here. Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Ex...

2018-09-19 16:57:23 60232 5

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

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

2018-08-31 16:24:00 218 0

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

转自http://www.itmuch.com/spring-cloud-sum-eureka/ Spring Cloud中,Eureka常见问题总结。 指定Eureka的Environment   1   eureka.environm...

2018-08-24 17:12:58 195 0

转载 Spring Cloud Netflix Eureka - The Hidden Manual

https://blog.asarkar.org/technical/netflix-eureka/ Spring Cloud Netflix Eureka - The Hidden Manual  10 minute read Introduction In 2015-2016, we ...

2018-08-24 15:56:14 152 0

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

本文针对目前为止最新的dubbo版本2.6.2中存在的问题,ReferenceConfig中有一个List<MethodConfig> methods属性,但是@Reference注解里面并没有可以配置这个属性的地方(听dubbo的committer说下个版本会修复),...

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

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

在描述这个BUG之前,我想先说一个需求场景,假设我们有一个DemoService接口: public interface DemoService { String sayHello(String name); String sayHello2(String name); } ...

2018-07-26 15:07:09 5949 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...

2018-05-04 16:15:49 2898 0

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

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

2018-05-02 15:09:31 3065 0

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

https://cloud.tencent.com/developer/article/1007474本文主要介绍当前业界广泛使用的两个分布式实时计算框架flink与storm的性能对比,希望对你有所帮助。1. 背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分...

2018-04-05 11:38:58 3364 0

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

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

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

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

http://www.spring4all.com/article/948在Spring Cloud中我们用Hystrix来实现断路器,Zuul中默认是用信号量(Hystrix默认是线程)来进行隔离的,我们可以通过配置使用线程方式隔离。在使用线程隔离的时候,有个问题是必须要解决的,那就是在某些业务...

2018-03-27 09:26:53 1387 1

转载 kafka-streams faq

https://docs.confluent.io/current/streams/faq.htmlFAQAttentionWe are looking for feedback on APIs, operators, documentation, and really anything that...

2018-03-25 22:06:11 537 0

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

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

2018-03-22 16:54:08 431 0

转载 Kafka Streams Exactly Once Design

https://docs.google.com/document/d/1pGZ8xtOOyGwDYgH5vA6h19zOMMaduFK1DAB8_gBYA2c/edit#Kafka Streams Exactly Once DesignThis document serves to describ...

2018-03-19 12:03:11 268 0

转载 版本号命名指南

来源: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 表示开发版本。Windo...

2018-02-24 09:19:03 230 0

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

我们一般部署服务的时候,都会部署一个网关服务,内部所有的其他微服务的调用,都将通过网关路由过去,不对外直接暴露,对外只暴露网关服务。而且一般内部服务会部署多个实例,zuul集成了ribbon,会自动负载均衡的方式去调用内部服务。当内部服务滚动重启的时候,通过网关的一个请求刚好路由到重启的那个实例的...

2018-02-13 12:06:02 6423 0

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

spring cloud通过feign client进行服务之间调用的时候,默认不会进行重试,这样会有一个问题,比如你的服务在滚动升级重启的时候,feign的调用将直接失败,但其实我是滚动重启,重启了一个服务实例,还有另外一个服务实例是可用的,应该允许自动均衡策略重试请求发送到另外一个可用的服务实...

2018-02-08 18:14:43 3457 1

原创 Better application events in Spring Framework 4.2

https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2spring的事件驱动编程有增强,以前自定义事件必须要继承ApplicationEvent,现在不是必须的,可以随便建一个对象,sp...

2018-01-18 11:35:49 177 0

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

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

2017-12-27 22:40:46 21844 12

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

网上看了许多关于protostuff序列化和json序列化性能的对比,普遍表示protostuff序列化后的大小要比json序列化后的大小要小,但是我今天在将一个比较大的数组通过两种不同的方式序列化的时候,发现protostuff的大小比json要大很多。顿时有点怀疑人生,经过反复的测试发现了其中...

2017-12-27 17:51:28 3403 0

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

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

2017-11-30 15:37:40 15326 0

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

[慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定 写在前面的话:    不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程;    不要求每个人...

2017-11-14 11:30:43 245 0

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

我们知道elasticsearch可以通过指定index和doc id来获取某个doc的,也支持mget的方式,发送一次请求,将多个doc id发送过去查询出相应的docs。 这样做可以有效的减少发往ES的请求数,降低ES的负载。 在web应用层通过HystrixCollapser合并单个ge...

2017-11-02 14:03:14 3200 2

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

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

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

原创 spring cloud stream配置多个kafka binders

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

2017-10-31 10:31:17 11715 3

原创 springboot logback扩展

26.6 Logback extensions Spring Boot includes a number of extensions to Logback which can help with advanced configuration. You can use these...

2017-10-10 16:32:27 1533 0

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

由于redis-stat使用ruby写的,编译的时候要先装ruby,要大于1.9.3版本的ruby。 这里我是从源码编译安装的ruby-2.1.10.tar.gz: tar zxvf ruby-2.1.10.tar.gz cd ruby-2.1.10 ./configure –prefix=/us...

2017-10-10 10:15:14 3733 2

转载 feignclient设置hystrix参数

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

2017-10-08 13:37:02 2466 1

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

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

2017-09-29 13:34:27 2190 0

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

springcloud bus默认只支持rabbitmq和kafka两个binder,当然也是可以自己写binder扩展,本文主要介绍使用kafka 作为binder来提供消息总线服务,最新稳定版的Dalston.SR3默认使用的是kafka 0.10.1.1版本,如果你的kafka集群不是这个版...

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

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

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

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

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

默认情况下注册到eureka server的服务是通过心跳来告知自己是UP还是DOWN,并不是通过spring-boot-actuator模块的/health端点来实现的,这样其实不是很合理。 默认的心跳实现方式可以有效的检查eureka客户端进程是否正常运作,但是无法保证客户端应用能够正常提供...

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

原创 springboot admin 监控hystrix

spring cloud提供了hystrix dashbord用来监控hystrix,但是既然springboot admin提供了单个应用的那么多好用的管理功能和监控,那么就整合在一起方便管理和查看吧。 springboot admin提供了spring-boot-admin-server-ui...

2017-09-14 18:15:16 8438 7

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