Kafka学习笔记(五):消费者偏移量提交、独立消费者、再均衡监听器以及消费者对重复消费、消息丢失问题的解决

再均衡的概念以及触发的情况都在上一篇文章中做了说明。再均衡的执行过程是造成重复消费、消息丢失的主要原因。另外消费者偏移量如何提交,如何保证再均衡后,消费者能够从上次执行到的偏移量开始消费,防止重复消费和丢失问题,都将在这篇文章中体现。

Kafka学习笔记(四):自定义序列化器、反序列化器、分区器以及分区再均衡策略

序列化器、反序列化器以及分区器都有所了解,Kafka客户端提供默认的7种方式基本够用了,但是对于一个大型复杂的项目群里面,总是会有特殊的要求,这个时候就需要自己去定义相关的序列化器和反序列化器。另外就是自定义分区器,这个应用的可能会多一点,根据实际业务将消息发送到指定的分区中。

Kafka学习笔记(三):Kafka的第一个HelloWorld

引入依赖需要小心,如果没有做相关的了解很容易引入jar包不可用,导致一直有错误。在下载Kafka的时候,Kafka的压缩包的名称都类似这样`kafka_2.11-0.10.1.1`。其中`2.11`是代表Kafka的版本,`0.10.1.1`代表的是客户端的版本。所以在项目中引入Kafka的客户端jar的时候一定要和这个版本对应上,并不是越高越好。

Kafka学习笔记(二):Kafka之常用配置文件核心内容

上一篇了解了Kafka的基本概念,主要是日志、主题、分区、生产者、消费者、消费者群组、偏移量、消息和批次以及Broker和集群。这些基本概念了解以后就是上手自己下载Kafka,安装起来。安装Kafka很简单,……,同样Kafka启动使用默认配置也可以,但是为了学习Kafka,还是需要了解配置文件中各项内容的含义以及在服务中起到的作用。

Kafka学习笔记(一):Kafka基本概念理解

ActiveMQ、RabbitMQ是用的比较多得消息队列,但是随着时间的推移,大数据的应运而生,这两种消息队列使用的也是越来越少了,Kafka渐渐进入开发人员的视线,再加上Kafka天生的集群运行、大数据量的处理能力,以及数据的持久化能力等,主导地位也是必然的事情。

Idea自带的http client工具使用攻略

平时都是用postman来调接口,有时候也会用到swagger。用swagger还可以,直接在浏览器上开个页面即可,但是postman就不行了,需要单独的运行,个人感觉postman还是比较占内存的。最近和一个其他组同事联调,发现他们使用的是idea自带的http client工具,感觉挺好用的,调接口不需要切浏览器,切应用。直接一个在idea中可以完成。挺酷(zhuang)炫(bi)的……

Spring Data JPA使用必备(三):Spring Data JPA自定义SQL写法

Spring Data JPA的前两篇已经写了通过方法名格式自动生成SQL,也简单的提到了@Query注解。但是往往真正的业务逻辑里面,这些是完全不够用的,涉及到一些稍微复杂一点的查询就会有点问题,如根据一组条件中的某几个条件查询(条件不固定),然后再加上分页、排序,这个时候只是使用之前的方法就有点捉襟见肘啦。

swagger2和spring boot整合构建RESTful API文档

由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。

参数校验之Hibernate-validator的基本使用

validation-api在开发过程中是经常使用到的,特别是参数校验,刚开始做开发工作的时候,都是在Service层用if…else…来判断参数的合法性,这个会使代码显得很臃肿,后来接触validation,真的是很好用的。这里分享出来,也是做个笔记,以后用到可以作为参考资料。

轻松了解jdk8之lambda表达式常用API(持续更新……)

这两年,基本所有的公司都由之前的JDK7转战JDK8,还记得上次去饿了么面试给的面试题,第一题就是用lambda实现一个功能,当时对lambda表达式基本是零了解,然后……。现在随着慢慢的使用,也慢慢了解lambda表达式真的是一个好东西,可以大大的简化以前的代码,下面在说常用lambda表达式的时候,会附上对应之前需要的代码量。相信你也会喜欢上它的。