微服务SpringBoot-整合kafka和storm
为什么使用SpringBoot整合kafka和storm
一般而言,使用kafka整合storm可以应付大多数需求。但是在扩展性上来说,可能就不太好。目前主流的微服务框架SpringCloud是基于SpringBoot的,所以使用SpringBoot对kafka和storm进行整合,可以进行统一配置,扩展性会更好。
使用SpringBoot整合kafka和storm做什么
一般来说,kafka和storm的整合,使用kafka进行数据的传输,然后使用storm实时的处理kafka中的数据。了解springcloud架构可以加求求:三五三六二四七二五九
在这里我们加入SpringBoot之后,也是做这些,只不过是由SpringBoot对kafka和storm进行统一的管理。
如果还是不好理解的话,可以通过下面这个简单的业务场景了解下:
在数据库中有一批大量的用户数据,其中这些用户数据中有很多是不需要的,也就是脏数据,我们需要对这些用户数据进行清洗,然后重新存入数据库中,但是要求实时、延时低,并且便于管理。
所以这里我们就可以使用SpringBoot+kafka+storm来进行相应的开发。
开发准备
在进行代码开发前,我们要明确开发什么。 在上述的业务场景中,需要大量的数据,但是我们这里只是简单的进行开发,也就是写个简单的demo出来,能够简单的实现这些功能,所以我们只需满足如下条件就可以了:
提供一个将用户数据写入kafka的接口;
使用storm的spout获取kafka的数据并发送给bolt;
在bolt移除年龄小于10岁的用户的数据,并写入mysql;
那么根据上述要求我们进行SpringBoot、kafka和storm的整合。 首先需要相应jar包,所以maven的依赖如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<