回复: flink是否支持 http请求并返回json数据

2022-02-10 文章 yckkcy
你好,我想到一个异步方案,不知道是否能满足需求,可供参考:
1、接收端,我同意Caizhi Weng的说法,还是要另起一个http server服务a:把请求的参数放入消息队列中,同时服务a通知调用方请求已收到。
2、flink从消息队列中消费数据,并将参数进行解析,业务逻辑处理。
3、sink端可以考虑继承RichSinkFunction类,将解析结果再通过调用对方的http服务传回去,在invoke方法中post数据即可。

sink端可以参考这个代码
public class HttpResultSink extends RichSinkFunction {
   private CloseableHttpClient client;
   @Override
   public void open(Configuration parameters) throws Exception {
   client = HttpClients.createDefault();

   }

   @Override
   public void close() throws Exception {

   client.close();
   }

   @Override
   public void invoke(RequesResult requesResult, Context context)  {
   // 拼接请求
   HttpPost httpPost = new HttpPost("http://yourip:8088/open/api/pushInfo";);
   // 拼接请求头与请求体
   String json = JSON.toJSONString(requesResult);
   httpPost.setHeader("Accept", "application/json");
   httpPost.setHeader("Content-type", "application/json; charset=UTF-8");
   httpPost.setEntity(entity);
   // 发送请求
   CloseableHttpResponse response = client.execute(httpPost);

   }
} 

如果直接用flink接受http请求,处理请求,再将请求结果同步返回,在一个作业中完成,我觉得难度比较大,这种同步方案不太适合flink处理,更适合spring技术栈做?
| |
杨成凯
|
|
yangchengkai2...@163.com
github:forrestlmj
|
在2022年2月9日 17:30,张锴 写道:
我觉得这种方式是可行的,请问一下我应该如何去做,有没有一些资料参考一下呢

Caizhi Weng  于2022年2月9日周三 16:15写道:

Hi!

Flink 目前没有 http server source / sink。这是一个 OLAP
的需求吗?从描述的需求来看,一种更加合理的方式应该是有一个专门的 http server 接受请求,调用 Flink API 运行一个 Flink
作业(Flink SQL 可以运行 select 语句),再将结果返回给调用方。

张锴  于2022年2月9日周三 14:28写道:



业务需求:通过http请求方式将参数传给flink,将参数带入flink程序再把结果以json的形式返回。请问一下以这种方式实时计算,flink是否支持?

flink版本:1.12.1




Re: flink是否支持 http请求并返回json数据

2022-02-09 文章 张锴
我觉得这种方式是可行的,请问一下我应该如何去做,有没有一些资料参考一下呢

Caizhi Weng  于2022年2月9日周三 16:15写道:

> Hi!
>
> Flink 目前没有 http server source / sink。这是一个 OLAP
> 的需求吗?从描述的需求来看,一种更加合理的方式应该是有一个专门的 http server 接受请求,调用 Flink API 运行一个 Flink
> 作业(Flink SQL 可以运行 select 语句),再将结果返回给调用方。
>
> 张锴  于2022年2月9日周三 14:28写道:
>
> >
> >
> 业务需求:通过http请求方式将参数传给flink,将参数带入flink程序再把结果以json的形式返回。请问一下以这种方式实时计算,flink是否支持?
> >
> > flink版本:1.12.1
> >
>


Re: flink是否支持 http请求并返回json数据

2022-02-09 文章 Caizhi Weng
Hi!

Flink 目前没有 http server source / sink。这是一个 OLAP
的需求吗?从描述的需求来看,一种更加合理的方式应该是有一个专门的 http server 接受请求,调用 Flink API 运行一个 Flink
作业(Flink SQL 可以运行 select 语句),再将结果返回给调用方。

张锴  于2022年2月9日周三 14:28写道:

>
> 业务需求:通过http请求方式将参数传给flink,将参数带入flink程序再把结果以json的形式返回。请问一下以这种方式实时计算,flink是否支持?
>
> flink版本:1.12.1
>


flink是否支持 http请求并返回json数据

2022-02-08 文章 张锴
业务需求:通过http请求方式将参数传给flink,将参数带入flink程序再把结果以json的形式返回。请问一下以这种方式实时计算,flink是否支持?

flink版本:1.12.1