StreamSets实战之路(十七)-实战篇-数据服务快速微服务化

主要通过一个数据服务快速微服务化的案例来介绍Streamsets(3.20.0 汉化版)的使用。在当前下,微服务化异常盛行,肯能大家之前都用过spring boot实现微服务应用(当然不知道的可以搜下 RESTful API,这里涉及的比较多不重点讲),很多原来不是微服务的服务就需要快速地改成RESTful 接口对外提供服务,要是要用spring boot改写的话,想必一定要Coding了,哈哈,现在不需要了,本章通过一个案例介绍怎么通过streamsets快速实现服务的微服务化。

学习目的:学习使用构建微服务数据流、学习对原有的服务快构建RESTful API。

最终数据流的效果图:

这里我们讲两个微服务化的例子,一个对mysql数据库封装一下,让mysql对外提供RESTful API,另一个实现一个加解密的微服务,对外提供RESTful API。

访问一下效果:

访问一下结果:

前期准备:

(1)部署安装一个mysql数据库是必要的,建一个表插入一些数据。

构建步骤:

1.让mysql对外提供RESTful API

选择创建一个微服务数据流,当然若是选择成默认的普通数据流,进入数据流构建画布中也可以修改,具体怎么修改大家可以思考一下

配置一下REST Service origin类组件的端口号和APP ID

 

选择destination类jdbc插件,配置jdbc连接串、用户名和密码、表名等,并将操作模式分别配置成INSERT、UPDATE、DELETE模式,实现数据增、改、删,这里展示了增加数据的插件,其他两个配置类似,只不过改一个操作模式。

对数据查询这里选用JDBC Lookup插件,配置jdbc连接串、用户名额和密码,查询语句sql由前面的插件或从用户端传送过来。

使用destination类response插件将结果返回到用户,返回状态码为200.

2.实现一个提供RESTful API的数据加解密服务

同样创建一个微服务数据流,配置RESTful service插件的端口号和APP ID

使用http路由插件实现数据的连接路由,这里设置请求方法都是post方法,一个加密路由和一个解密路由。

这里使用数据分流插件检测用户传来的数据字段中是否包含field字段,若是不包含没法对该字段进行加解密,所以在加解密之前对字段的存在性进行检测是必要的,要是没有该字段立即返回用户。

使用加解密插件进行加密,将插件模式设置加密模式,并配置加密字段,并在Key Provider选项卡中配置加密的方法和秘钥,这里的秘钥要生成base64串后填入,注意秘钥的长度要个加密算法中选择的长度要一致。

在解密算法中,解密字段的类型要求是byte array类型,所以使用表达式插件将前端传来的base64的字符串转换成byte array 类型

使用加解密插件进行解密,将插件模式设置解密模式,并配置解密字段,并在Key Provider选项卡中配置解密的方法和秘钥,这里的秘钥要生成base64串后填入,注意秘钥的长度要个加密算法中选择的长度要一致,并注意要与加密中选择的算法和秘钥一致。

 

 

注意一个问题:数据在加密后其实是生成了一个byte array类型的数据,但是用户收到是一个base64 串,这是streamset在数据传输过程字段编码的。

 

Streamsets实战之路正在更新中,尽情期待!!!

 

此文章为博主原创,转载请标明出处和原始链接,谢谢。

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值