在日常的开发场景中,我们需要把数据库中的数据开发成http接口供前端或其他应用来使用,如何不写一行代码通过配置的方式将数据的服务提供出去呢?这想必是追求快速开发,持续交付的应用所期待的。
我最近在基于Nifi的内核来开发一些数据类的产品。Nifi是一个易于使用、功能强大而且可靠的数据拉取、数据处理和分发系统,它的强大之处在这不必过多的赘述,先看看是怎么配置出来的。
总体的流程如下:
具体配置:
第一步:HandleHttpRequest
将HandleHttpRequest组件拖入画布。拖动 processor到画布
在搜索框内输入http,便于找到HandleHttpRequest组件,选中,点击【ADD】
配置监听端口 Listening Port
配置ip地址或者域名
配置HTTP Context Map
其他的选项根据实际情况进行配置
第二步:Execute SQL
将Execute SQL组件拖入画布
配置Execute SQL组件
配置数据库连接字符串(Database Connection URL)、数据库驱动名称(Database Driver Class Name)、数据库驱动包地址(Database Driver Location(s))、数据库用户名(Database User)、密码(PasswordSensitive)
配置查询sql
第三步:ConvertAvroToJSON
第四步:配置HandleHttpResponse
配置HandleHttpResponse
第五步:连起来
先连接HandleHttpRequest与Execute SQL
根据!信息,激活控制器服务(Enable Controller Service)
连接Execute SQL 与 HandleHttpResponse
连接Execute SQL 与 ConvertAvroToJSON
这样都配好好,开始测试吧!
第六步:测试
现将鼠标点在画布的空白位置,点击启动按钮
已经启动了:
我们用postman测试一下:
可以看到已经成功地将数据发不成了接口服务。
是不是没发布一个服务,都要做这样的配置呢?那当然不用,这要利用Nif自强大的模板机制。
选中这个组,点击创建模板按钮
给模板取个名字,
点击创建(create),模板就创建好了,之后我们可以重复的使用以上的流程了。
测试一下:只需简单一步就可以重复使用此流程。
将模板拖入画布,点击add,一个全新的发布服务的流程就形成了
点开看一下:
通过模板机制达到了流程的可复用性。
以上是一个快速发布数据服务的小例子,至于如何对服务进行路由、治理、高可用等在后期的章节会探讨。