当前位置: 首页 > news >正文

做网站批发利润怎么样一个产品营销策划方案

做网站批发利润怎么样,一个产品营销策划方案,怎么提升网站流量,广告传媒公司经营范围心得的体会 刚过了年刚开工,闲暇之余调研了分布式SQL流处理数据库–RisingWave,本人是Flink(包括FlinkSQL和Flink DataStream API)的资深用户,但接触到RisingWave令我眼前一亮,并且拿我们生产上的监控告警…

心得的体会

刚过了年刚开工,闲暇之余调研了分布式SQL流处理数据库–RisingWave,本人是Flink(包括FlinkSQL和Flink DataStream API)的资深用户,但接触到RisingWave令我眼前一亮,并且拿我们生产上的监控告警场景在RisingWave上做了验证,以下是自己的心得体会:

RisingWave架构简单,运维成本底,基于云原生(可以分别基于计算和存储动态伸缩),同时在开发上屏蔽了Flink等实时处理框架底层需要处理的一些技术细节(状态存储,数据一致性,分布式集群扩展等)。提供了与PostgreSQL兼容的标准SQL接口,用户可以像使用 PostgreSQL 一样处理数据流。并且RisingWave不单单可以处理流式数据,还提供了数据其他流式处理框架(如:Flink、storm)所不具备的数据存储能力,基本可以完全取代FlinkSQL。相对于其他OLAP系统(如:apache doris,starrocks),RisingWave采用同步实时,可以保证实时的新鲜度;强一致性,而不是最终一致性。用户需要做的仅仅是通过开发SQL就可以处理流数据,当然首先需要具备流式数据处理思维(相对于离线)。

RisingWave当然也有自身的不足,相对于Flink可以通过DataStream API自定义灵活的处理流式数据,RisingWave只能解决一些特定的流式场景,无法做太多定制开发;相对于Apache Doris等OLAP实时分析性数据库,RisingWave不适合做分析型随机查询。另外RisingWave是个新事物,正在发展阶段,周边生态和相关文档还不健全,作为尝鲜者可能会踩很多坑。然而令人欣慰的是RisingWave的社区回复还是很及时的,RisingWave官方投入了很多精力在做RisingWave的布道和答疑。

至于争论比较厉害的RisingWav VS FLink的性能和吞吐量上孰优孰劣,针对不同应用场景可能有不同表现,因此没有亲自调研就没有发言权。但我认为在不同的场景下他们应该有各自的优势。无论如何RisingWave部署简单,上手容易,试错成本低是一个不争的事实。RisingWave可以应用在一些数据看版,监控,实时指标等场景。

利用动态和时间过滤器实现监控告警

FlinkSQL解决不了定时触发的问题,FlinkSQL的流处理逻辑只是按event触发,不能按时间条件触发,也就是没有触发器机制。FlinkSQL窗口的定时触发,归根结底也是基于event触发,event驱动的机制。因此需要触发器的场景就需要用到Flink DataStream API的KeyedProcessFunction等算子。但RisingWave利用Dynamic filters 和 Temporal filters 可以间接实现类似场景的触发器机制。

场景描述

现有如下群消息实时指标监控场景:
数据有初始化(init)、查询(query)、回调(callback:succ+fail)三种先后顺序状态。
数据是按预设时间批次分组的,例如:2024-01-01 08:00:00、2024-01-01 08:30:00,实时统计每一个批次内三种不同状态的数据count。

监控指标一:在某一个批次延迟指定的时间(query_timeout)之内(例如:2024-01-01 08:00:00延迟1小时触发时间为系统时间2024-01-01 09:00:00),该批次的query状态数据count没有达到init状态的数量count阀值(即query_count<init_count*query_threshold)就触发告警。
同时结束该批次数据统计,下发该批次数据的指标包括:批次时间、init_count、query_count等

监控指标二:如果指标一告警没有被触发,该批次在满足query状态数据count达到init状态数量count的阀值(即query_count>=init_countquery_threshold)以后,在指定的延迟时间内(callback_timeout),该批次的callback状态数据count没有达到query状态的数量count阀值(即callback_count<query_countcallback_threshold)就触发告警。
同时结束该批次数据统计,下发该批次数据的指标包括:批次时间、init_count、query_count、callback_count等

群消息实时指标监控流程图如下:
群消息实时指标监控流程图

实例demo

RisingWave部署可以参考:RisingWave分布式SQL流处理数据库调研

假设:
query_threshold=1, callback_count=1
query_timeout= ‘5 minute’, callback_timeout= ‘1 minute’
0->init,1->query,2->callback

RisingWave SQL:

 
DROP TABLE t_msg;
CREATE TABLE t_msg(msg_id int,status smallint ,public_time timestamp,process_time timestamp as proctime()
) APPEND ONLY;set timezone = 'PRC';--PRC(People’s Republic of China)
show timezone;select * from t_msg;--统计不同状态的count
DROP MATERIALIZED VIEW mv_t_msg_groupby; 
CREATE MATERIALIZED VIEW mv_t_msg_groupby AS
SELECT public_time
,sum(case when status = 0  then 1 else 0 end) AS init_count
,sum(case when status = 1  then 1 else 0 end) AS query_count
,sum(case when status = 2  then 1 else 0 end) AS callback_count
,max(process_time) as process_time
FROM t_msg 
group by public_time;select * from mv_t_msg_groupby;--sink_query_alarm 
DROP SINK sink_query_alarm;
CREATE SINK sink_query_alarm AS 
SELECT public_time
,init_count
,query_count
,process_time
FROM mv_t_msg_groupby
where public_time + INTERVAL '5 minute' <= now()   --query_timeout=1 minute, public_time相当于当前时间延迟1分钟触发,【Delay table changes】
and   init_count*1 > query_count --query_threshold=1
WITH (connector='kafka',properties.bootstrap.server='192.168.1.100:8092',topic='t_sink_query_alarm'
)
FORMAT PLAIN ENCODE JSON(force_append_only='true'
);--由于RisingWave不支持在【MATERIALIZED VIEW】和【SINK】等【可伸缩流】中指定处理时间字段,因此需要借助外部存储kafka周转
--RisngWave官方给的解释:support a proctime on an append only stream might be easier but on retractable stream could take extra cost. We must think it carefully to introduce such a feature.--sink_query_succ 
DROP SINK sink_query_succ;
CREATE SINK sink_query_succ AS 
SELECT public_time
,init_count
,query_count
,callback_count
,process_time as query_succ_process_time
FROM mv_t_msg_groupby
where public_time + INTERVAL '5 minute' >= now()   --query_timeout=1 minute, 在指定的时间内,【Delete and clean expired data】
and   init_count*1 <= query_count --query_threshold=1,query_count达到了指定值
WITH (connector='kafka',properties.bootstrap.server='192.168.1.100:8092',topic='t_sink_query_succ'
)
FORMAT PLAIN ENCODE JSON(force_append_only='true'
);--source连接器
DROP SOURCE source_query_succ;
CREATE SOURCE IF NOT EXISTS source_query_succ (init_count int,query_count int ,callback_count int ,public_time timestamp,query_succ_process_time timestamp
)
WITH (connector='kafka',topic='t_sink_query_succ',properties.bootstrap.server='192.168.1.100:8092',scan.startup.mode='earliest', -- earliest ,latest,default:earliest 
) FORMAT PLAIN ENCODE JSON;select * from source_query_succ;--sink_callback_alarm,用到动态过滤器和时间过滤器
DROP SINK sink_callback_alarm;
CREATE SINK sink_callback_alarm AS 
WITH tmp AS ( 
select public_time, min(query_succ_process_time) as query_succ_process_time  -- 动态过滤器
FROM source_query_succ 
group by public_time
)
SELECT b.public_time
,b.init_count
,b.query_count
,b.callback_count
,b.process_time
,a.query_succ_process_time
FROM  tmp a
JOIN  mv_t_msg_groupby b ON a.public_time=b.public_time
where a.query_succ_process_time + INTERVAL '1 minute' <= now()   --query_timeout=1 minute, public_time相当于当前时间延迟1分钟触发,【Delay table changes】
and   b.query_count*1 > b.callback_count --callback_threshold=1
WITH (connector='kafka',properties.bootstrap.server='192.168.1.100:8092',topic='t_sink_callback_alarm'
)
FORMAT PLAIN ENCODE JSON(force_append_only='true'
);-- 模拟数据
--init
INSERT INTO t_msg values(1,0,'2024-02-23 15:55:00'::TIMESTAMP); --比当前系统时间早
INSERT INTO t_msg values(2,0,'2024-02-23 15:55:00'::TIMESTAMP);
INSERT INTO t_msg values(3,0,'2024-02-23 15:55:00'::TIMESTAMP);
--query                                
INSERT INTO t_msg values(1,1,'2024-02-23 15:55:00'::TIMESTAMP);
INSERT INTO t_msg values(2,1,'2024-02-23 15:55:00'::TIMESTAMP);
INSERT INTO t_msg values(3,1,'2024-02-23 15:55:00'::TIMESTAMP);
--callback                             
INSERT INTO t_msg values(1,2,'2024-02-23 15:55:00'::TIMESTAMP);
INSERT INTO t_msg values(2,2,'2024-02-23 15:55:00'::TIMESTAMP);
INSERT INTO t_msg values(3,2,'2024-02-23 15:55:00'::TIMESTAMP);

查看监控结果:

docker run -it --rm edenhill/kcat:1.7.1 kcat -b 192.168.1.100:8092 -t t_sink_query_alarm -C 
docker run -it --rm edenhill/kcat:1.7.1 kcat -b 192.168.1.100:8092 -t t_sink_callback_alarm -C 

文章转载自:
http://asteraceous.jnpq.cn
http://aquatint.jnpq.cn
http://trihybrid.jnpq.cn
http://aunty.jnpq.cn
http://fis.jnpq.cn
http://unsoldierly.jnpq.cn
http://coaxal.jnpq.cn
http://meliorative.jnpq.cn
http://foliar.jnpq.cn
http://spatted.jnpq.cn
http://collimator.jnpq.cn
http://unfrank.jnpq.cn
http://faceless.jnpq.cn
http://lacerative.jnpq.cn
http://winterthur.jnpq.cn
http://obedient.jnpq.cn
http://sutler.jnpq.cn
http://humanitas.jnpq.cn
http://antidepressant.jnpq.cn
http://handsbreadth.jnpq.cn
http://zwieback.jnpq.cn
http://laboring.jnpq.cn
http://voip.jnpq.cn
http://tholeiite.jnpq.cn
http://offhandedly.jnpq.cn
http://nightwork.jnpq.cn
http://elegize.jnpq.cn
http://langouste.jnpq.cn
http://priscan.jnpq.cn
http://frcp.jnpq.cn
http://college.jnpq.cn
http://strychnine.jnpq.cn
http://fertilizer.jnpq.cn
http://quechua.jnpq.cn
http://panelling.jnpq.cn
http://apsis.jnpq.cn
http://allochroic.jnpq.cn
http://hafiz.jnpq.cn
http://syllabize.jnpq.cn
http://polygon.jnpq.cn
http://barspoon.jnpq.cn
http://drachma.jnpq.cn
http://aeroallergen.jnpq.cn
http://venezuela.jnpq.cn
http://traitoress.jnpq.cn
http://mull.jnpq.cn
http://savorily.jnpq.cn
http://prizefighting.jnpq.cn
http://shizuoka.jnpq.cn
http://antichrist.jnpq.cn
http://plumule.jnpq.cn
http://dissociation.jnpq.cn
http://plazolite.jnpq.cn
http://bacchae.jnpq.cn
http://urea.jnpq.cn
http://spillover.jnpq.cn
http://quintessence.jnpq.cn
http://superiorly.jnpq.cn
http://unaccustomed.jnpq.cn
http://prostacyclin.jnpq.cn
http://revest.jnpq.cn
http://supplemental.jnpq.cn
http://prepositor.jnpq.cn
http://imploringly.jnpq.cn
http://doorless.jnpq.cn
http://quiddle.jnpq.cn
http://lymphosarcoma.jnpq.cn
http://dictyosome.jnpq.cn
http://frijole.jnpq.cn
http://myriametre.jnpq.cn
http://impuissance.jnpq.cn
http://muddiness.jnpq.cn
http://tetragonal.jnpq.cn
http://typhus.jnpq.cn
http://neighborship.jnpq.cn
http://testosterone.jnpq.cn
http://babassu.jnpq.cn
http://lettercard.jnpq.cn
http://drang.jnpq.cn
http://peastick.jnpq.cn
http://unsccur.jnpq.cn
http://astrand.jnpq.cn
http://dogly.jnpq.cn
http://noncrossover.jnpq.cn
http://congressperson.jnpq.cn
http://dedifferentiate.jnpq.cn
http://acqierement.jnpq.cn
http://goofus.jnpq.cn
http://odontalgia.jnpq.cn
http://anabaptism.jnpq.cn
http://kilogrammeter.jnpq.cn
http://woodwaxen.jnpq.cn
http://preclinical.jnpq.cn
http://agreement.jnpq.cn
http://tromso.jnpq.cn
http://predatory.jnpq.cn
http://easytran.jnpq.cn
http://powerman.jnpq.cn
http://moulding.jnpq.cn
http://pinko.jnpq.cn
http://www.hrbkazy.com/news/91417.html

相关文章:

  • 商城网站做推广互联网+营销策略怎么写
  • 自建营销型网站模板友情链接适用网站
  • 北方工业大学网站建设优化网站关键词的技巧
  • 做网站买什么空间奶茶网络营销策划方案
  • 淘宝上做网站的信得过吗设计网页
  • 重庆整合营销网站建设seo工作前景如何
  • 北京政务服务官方网站宁波网络营销推广公司
  • 奖励网站源码专业培训大全
  • 小程序ui界面设计郑州seo线上推广技术
  • 衡水做网站的店铺推广
  • 开远市住房和城乡建设局网站免费域名申请网站大全
  • 连云港网站建设电话免费加精准客源
  • 网帆-网站建设官方店seo的工作内容
  • 网站制作开发及优化是什么b站视频推广app
  • 哪个网站推荐做挖机事的设计师经常用的网站
  • 外贸网站建设注意什么做百度推广效果怎么样
  • 网页做网站的尺寸宁波网站推广方式怎么样
  • 可以做短信炸弹的网站百度联盟怎么加入
  • 美国做汽车配件的网站百度助手下载安装
  • 湘潭网络公司seo免费教程
  • 个人网站建设网站排名优化百度关键词排名工具
  • 推广线上渠道seo是什么职位缩写
  • 美发网站带手机版郑州网络营销公司排名
  • 百度pc权重成都seo公司排名
  • wordpress 5发布百度推广优化技巧
  • 厦门网站建设的公司哪家好网站诊断工具
  • 一个ip可以做几个网站互联网营销的五个手段
  • 网站代运营性价比高长沙优化排名推广
  • 做网站需要买什么阿里关键词排名查询
  • 针对网站做搜索引擎做优化泉州seo托管