Flink集成Apollo获取配置V2

Flink接入apollo简单示例 1、创建配置文件 apollo官网示例显示java api使用配置文件方式如下: 配置文件内容: app.id=java-apollo-test-20190724 apollo.meta=http://apollo-server:10080 apollo.cacheDir=./cache 2、示例代码 public class StreamingJo... 阅读详情

上一篇介绍了使用基础Java客户端接入Apollo的示例,有同学反映在分布式环境下获取不到Apollo配置,只能在main方法中初始化使用,姿势不够优雅。

这里将Apollo的Java客户端将Flink官方推荐的ParameterTool结合使用,以解决该问题。

package org.example;

import com.ctrip.framework.apollo.ConfigFile;
import com.ctrip.framework.apollo.ConfigService;
import com.ctrip.framework.apollo.core.enums.ConfigFileFormat;
import org.apache.flink.api.common.functions.RichMapFunction;
import org.apache.flink.api.java.utils.ParameterTool;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.source.SourceFunction;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

/**
 * @author xianghu.wang
 * @time 2020/4/28
 * @description Flink集成Apollo示例
 */
public class FinkIntegrateApolloV2 {

  /**
   * 应用id.
   */
  private static final String APP_ID_NAME = "app.id";
  private static final String APP_ID_VALUE = "apollo-integration-demo";

  public static void main(String[] args) throws Exception {
    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    // 加载参数
    loadConfig(env);

    // 模拟数据源,每秒发送一次 Hello Apollo
    DataStreamSource<String> helloApollo = env.addSource(new SourceFunction<String>() {
      private volatile boolean isRunning = true;

      @Override
      public void run(SourceContext<String> ctx) throws Exception {
        while (isRunning) {
          ctx.collect("Hello Apollo");
          TimeUnit.SECONDS.sleep(1);
        }
      }

      @Override
      public void cancel() {
        isRunning = false;
      }
    });

    // 模拟业务逻辑 -> 拼接字符串打印从Apollo加载到的timeout参数 ("Hello Apollo your timeout is 60000")
    helloApollo.map(new RichMapFunction<String, String>() {
      private ParameterTool config;

      @Override
      public void open(Configuration parameters) throws Exception {
        super.open(parameters);
        config = (ParameterTool) getRuntimeContext().getExecutionConfig().getGlobalJobParameters();
      }

      @Override
      public String map(String value) throws Exception {
        return value + " your timeout is " + config.get("timeout", "default");
      }
    }).print();

    env.execute("FinkIntegrateApolloV2-" + ENV_VALUE);
  }

  /**
   * 加载Apollo配置到ParameterTool.
   *
   * @param env
   * @throws IOException
   */
  private static void loadConfig(StreamExecutionEnvironment env) throws IOException {

    // 指定app.id
    System.setProperty(APP_ID_NAME, APP_ID_VALUE);

    // 获取配置,注册到全局
    ConfigFile configFile = ConfigService.getConfigFile("application", ConfigFileFormat.Properties);
    ParameterTool config = ParameterTool.fromPropertiesFile(new ByteArrayInputStream(configFile.getContent().getBytes()));
    env.getConfig().setGlobalJobParameters(config);
  }
}

Note:

1.改用ConfigFile,为了更好的和ParameterTool结合使用;

2.取消了META-INF/app.properties配置文件:app.id的配置方式有多种,文件的方式略显啰嗦,我这里直接在代码里写死(毕竟这个参数是不会变的),同学们可以自由选择;

3.测试时的启动命令(-env放在最后):flink run -m yarn-cluster -d -ynm flink-apollo-demoV2 flink-apollo-demoV2.jar -env dev

从模糊概念到完整方案:基于Java Agent与Flink构建实时追踪系统 在分布式系统与微服务架构中,实现应用性能监控与实时追踪是保障系统稳定性的关键技术。其核心原理在于通过无侵入式数据采集、高吞吐流处理与高效存储查询,构建端到端的可观测性链路。这项技术的价值在于能够实时洞察系统瓶颈、快速定位故障,并优化用户体验。典型的应用场景包括实时热点追踪、全链路性能分析以及高覆盖率热更新等。本文以“hot pursuit 100%”这一模糊目标为引,系统性地拆解了如何利用Java Agent实现无侵入埋点,结合Kafka与Flink构建实时流处理管道,并最终通过Elasticsearch与 阅读详情

相关推荐

AI驱动的无认证接口智能管理:从自动化到自愈的架构实践

在现代微服务与系统集成架构中,接口管理是保障服务稳定性的核心环节。传统基于静态配置的管理方式,在面对大量无认证接口时,常因冗余配置和信息孤岛导致维护成本高昂、响应迟缓。其原理在于配置与运行时状态脱节,无法动态感知上游变更。通过引入实时数据流、特征工程与机器学习模型,可以实现从被动响应到主动感知的范式转变。这一技术价值在于将运维从繁琐的重复劳动中解放出来,实现问题的快速定位与自愈,从而显著提升系统可用性与团队效率。典型的应用场景包括第三方API集成、遗留系统对接以及内部服务间通信监控。本文以构建“AI智能接口

weixin_34320724的博客 372

flink整合apollo

1.使用flink的maven骨架快速创建一个maven项目 2.添加apollo及其他所需依赖 <!-- apollo --> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</art...

ASN_forever的博客 1339

Kimi K2.5深度解析:长文本记忆、跨文档对齐与中文技术表达升级

大语言模型的长上下文处理能力,正从单纯扩大token窗口转向结构化记忆与语义锚点建模;其核心原理在于分离主上下文与轻量级索引机制,显著提升百页级技术文档的伏笔回溯与跨文档比对精度。这一技术路径不仅增强了超长上下文稳定性,更支撑起真实工程场景中的语义对齐需求——如架构方案与附录测试数据的矛盾识别、多源技术文档的术语映射等。在中文技术表达层面,模型通过词向量重校准与社区语料拟合,实现从翻译腔到本土化‘老司机’表达的跃迁。本文聚焦K2.5在技术文档处理、会议纪要生成与系统说明编写等典型场景中的实战表现。

weixin_30444105的博客 387

Flink集成Apollo实现获取配置信息

Apollo GitHub地址(除了代码,都是中文):https://github.com/ctripcorp/apollo Java客户端使用指南:https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97 开始之前多说两句,这...

Mathieu66的博客 1895

Flink 整合 Apollo,动态更新 Flink 作业配置

在上一篇讲解 Flink 与 Nacos 整合的视频 中,讲过了常见的几种更新配置的方法,最常使用的可能就是通过广播流的方式,相信看完上个视频的,估计对整合 Nacos 做动态更新配置应...

http://www.54tianzhisheng.cn/ 1650

Kafka可视化平台EFAK搭建

而EFAK(Eagle + Flink + Apollo + Kafka)是一种常见的Kafka可视化平台搭建方案,结合了Eagle、Flink、Apollo和Kafka等组件,提供了监控、告警、数据处理和可视化等功能。至此,我们已经完成了EFAK平台的搭建。Kafka提供了高性能的消息传递和数据流处理能力,Flink提供了强大的流处理和批处理功能,Eagle提供了监控和告警功能,而Apollo则提供了可视化展示功能。需要注意的是,以上步骤仅提供了基本的安装和配置过程,并未涉及具体的业务逻辑和代码实现。

CvhShell的博客 507

apollo集群部署_Flink 整合 Apollo,动态更新 Flink 作业配置

本人自己录的视频,讲解 Flink 整和 Apollo,动态更新作业配置,无需重启作业在上一篇讲解 Flink 与 Nacos 整合的视频 中,讲过了常见的几种更新配置的方法,最常使用的可能就是通过广播流的方式,相信看完上个视频的,估计对整合 Nacos 做动态更新配置应该问题不大,zhisheng 我也觉得稍微简单,尤其 Nacos 搭建安装也比较简单。不知道大家公司有没有使用 Nacos 呢?...

weixin_39791152的博客 337

Win10系统权限深度解析:如何安全地将C盘所有者从TrustedInstaller变更为Administrators

本文深入解析了Win10系统中C盘文件权限管理的核心机制,解释了为何管理员账户(Administrators)默认无法修改由TrustedInstaller保护的系统文件。文章在强调安全风险的前提下,详细提供了通过图形界面和命令行两种方式,将文件或文件夹所有权从TrustedInstaller安全变更为Administrators的实操步骤,并给出了关键的风险预警与权限恢复方法。

weixin_29305313的博客 549

Flink集成大模型API实战:GLM与DeepSeek工程化对比

流处理技术通过实时处理数据流,为现代数据架构提供低延迟分析能力。其核心原理在于将连续数据流分解为可并行处理的微批次或事件序列,通过分布式计算框架实现高吞吐处理。在实时计算场景中,流处理引擎的价值在于能够即时响应业务变化,广泛应用于实时监控、风险控制和智能推荐等领域。当流处理引擎与人工智能技术结合时,特别是通过异步I/O模式调用大语言模型API,可以构建智能实时决策系统。本文聚焦于Apache Flink框架下集成大模型API的工程实践,深入探讨异步调用架构设计,并对比GLM与DeepSeek在API调用、推

weixin_30756499的博客 344

【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】

这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.

weixin_44029053的博客 2万+

从零到一:树莓派OpenWrt squashfs固件扩容背后的文件系统魔法

本文深入解析树莓派OpenWrt系统中squashfs固件的扩容原理与操作。通过理解squashfs与overlayfs的协同机制,掌握分区调整和文件系统扩容技巧,解决存储空间限制问题,提升设备可用性。

hadoop5ranger的博客 1037

基于Apache Flink构建实时监控系统:从数据流处理到告警实战

实时数据处理是现代数据架构的核心,它旨在对持续产生的数据流进行即时处理与分析,以满足低延迟、高吞吐的业务需求。其原理在于将数据视为无界流,通过流处理引擎进行连续计算,而非传统的批量处理。这项技术的核心价值在于能够实现实时监控、即时告警和动态决策,广泛应用于物联网传感器监控、实时业务指标分析和用户行为追踪等场景。Apache Flink作为业界领先的流处理框架,凭借其精确的状态管理和丰富的窗口操作,成为构建健壮实时应用的首选。本文以构建一个类似VibeWatch的实时监控系统为例,详细演示了如何利用Flink

weixin_30613727的博客 334

PyCharm与MicroPython联手:打造高效ESP32开发环境

本文详细介绍了如何使用PyCharm与MicroPython打造高效的ESP32开发环境。通过配置PyCharm插件、刷写MicroPython固件以及实战示例,帮助开发者快速上手嵌入式Python开发,显著提升物联网项目的开发效率。

weixin_29169899的博客 380

LLM语义网关:生产级大模型服务中枢设计与落地

大模型API网关已超越传统反向代理范畴,演进为理解token消耗、上下文语义与成本单元的‘语义网关’。其核心原理在于将HTTP流量治理升维至LLM调用语义层——通过Netty异步接入、JSON Path深度解析、动态熔断与上下文相关性截断等机制,实现对prompt长度、max_tokens越界、显存溢出等生产故障的前置拦截。技术价值体现在稳定性(P99≤1200ms)、可观测性(全链路ES日志追溯)与可运维性(Apollo热配置+Arthas在线诊断)三重保障。典型应用于AI客服、智能合同审查、多租户RAG

weixin_30399155的博客 406

【WRF湿度调整策略】WRF/ERA5湿度数据对比

【WRF湿度调整策略】WRF/ERA5湿度数据对比

WW、forever的博客 119

B07:AI 时代怎么考核团队?我把 KPI 改了 5 版才找到答案

最后说一句掏心窝的话。绩效考核不是"管人"的工具,是"引导团队行为"的工具。你定什么指标,团队就会做什么行为。你定"AI 占比",团队就凑占比你定"效率提升",团队就挑软柿子你定"代码行数",团队就刷行数你定"工具使用率",团队就刷使用只有定"业务价值 + 工程质量 + 能力成长"三个维度的指标,团队才会真正关注长期价值。这套 KPI,我在我带的团队里跑了 6 个月,没有任何一个指标被"刷"出来。考核的是结果,不是过程。永远考核"创造了多少价值",永远不考核"用了多少 AI"。

刘一说的IT专栏 499

Hacker News API架构深度解析:构建实时技术资讯监控系统

Hacker News作为全球最具影响力的技术社区之一,其公开API为开发者提供了访问海量技术资讯和社区数据的标准化接口。基于Firebase实时数据库构建的Hacker News API v0版本,不仅实现了近实时的数据同步机制,更为构建复杂的技术资讯监控、社区分析和大数据应用提供了可靠的数据基础。本文将深入探讨该API的架构设计、数据模型和实际应用场景,为技术开发者提供专业级的实现指南。 #

gitblog_00686的博客 1060

基于STM32、HAL库的ATMXT1066TD触摸屏控制器驱动程序设计

0x11) // 0x11是ATMXT1066的家族ID。// 最多支持10点触摸。// 足够存储10点触摸数据。

corlin6688的博客 164

AI智能数据中台:数据接入核心能力、部署与AI集成实战

数据接入是构建现代数据架构的基石,它负责将分散、异构的数据源统一汇聚,为上层应用提供数据燃料。其核心原理在于通过标准化的连接器、流处理引擎和任务调度机制,实现数据的实时或批量抽取、转换与加载(ETL)。这项技术的价值在于打破数据孤岛,为实时分析、智能决策和AI应用提供稳定、高效的数据管道。在AI驱动的场景中,数据接入层尤其关键,它需要以低延迟、高吞吐的方式,将原始数据转化为可供大模型消费的标准化格式,并处理好与下游AI流程(如大模型API调用、向量化存储)的衔接。本文聚焦于AI智能数据中台的数据接入模块,深

weixin_30745553的博客 391

【推荐100个unity插件】Animator 的替代品?—— Animancer Pro插件的使用介绍

Animancer与Unity Animator对比及使用指南 摘要: 本文对比了Animancer与Unity官方Animator的核心差异,分析了Animancer的优势特点。Animancer采用代码驱动模式,相比Animator的状态机系统更灵活高效,支持实时调试、动态混合和深度逻辑集成。文章详细介绍了Animancer的快速使用方法,包括动画播放、切换和触发机制,并区分了免费版与专业版的功能差异。适合需要高效动画开发、复杂交互逻辑的中小项目,为开发者提供了一种现代化的动画解决方案。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2434

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

大数据交友项目技术评估:部署、测试与性能优化全指南

大数据技术通过处理海量数据,结合智能算法,为社交应用提供了精准匹配和个性化推荐的能力。其核心原理在于构建用户画像、运用协同过滤或深度学习模型进行实时或离线计算,最终通过API接口提供服务。这种技术架构的价值在于显著提升社交连接效率,实现数据驱动的精细化运营。典型的应用场景包括社交平台、婚恋应用和兴趣社区等。本文以“大数据交友”项目为例,深入探讨其本地化部署方案、高并发支持能力以及API二次开发接口,为技术决策者提供一套从环境准备到效果验证的完整评估路径,帮助判断项目的技术可行性与集成价值。

weixin_34101229的博客 443

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

构建智能实时聊天监控系统:从DFA过滤到语义分析

在游戏和社交平台中,用户生成内容(UGC)的安全管理是维护社区健康的核心挑战。传统基于关键词库的过滤方法,在面对谐音、变体和行业黑话等隐性违规内容时,往往力不从心。其原理是通过字符串匹配进行拦截,但缺乏对上下文语义的理解,导致误判率高且易被绕过。现代内容安全系统的技术价值在于结合规则引擎与AI模型,实现精准识别与高效处置。应用场景广泛覆盖实时聊天、社区评论和直播弹幕等高频交互场景。本文以游戏聊天监控为例,深入探讨了如何利用DFA算法和语义分析模型,构建分层过滤的实时处理架构,有效应对如“切熟”这类黑话的挑战

weixin_33924220的博客 450

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TEMU化浪潮下的技术架构实战:微服务、DevOps与数据驱动解析

微服务架构是一种将复杂应用拆分为一组小型、独立服务的软件设计范式,其核心原理是通过服务解耦和独立部署来提升系统的灵活性、可扩展性和开发效率。这一架构的技术价值在于能够支撑业务的快速迭代和弹性伸缩,尤其适用于需要应对高并发和频繁变更的互联网应用场景。随着软件产品形态向碎片化、订阅化和持续交付演进,技术团队必须掌握微服务、DevOps与数据驱动的工程实践,以构建能够快速响应市场变化的高效系统。本文聚焦于TEMU化现象,深入探讨了如何通过微服务设计、CI/CD流水线、配置中心及实时数据处理等技术,应对产品碎片化、

weixin_33834628的博客 335

生产级机器学习系统落地的四大集成生死问题

机器学习模型部署不是终点,而是系统性工程挑战的起点。在真实业务场景中,95%以上的线上故障源于模型与上下游系统的集成缺陷,而非算法本身。理解数据管道的不确定性、特征服务的脆弱性、依赖服务的不可靠性以及API契约的刚性约束,是构建高可用ML系统的基础。本文聚焦特征缺失应对、模型宕机回退、人工干预闭环、接口契约保障四大核心集成问题,结合金融风控等强监管场景的实战经验,提供可直接落地的检查清单与兜底策略,帮助工程师跨越从‘模型能跑’到‘系统稳跑’的关键鸿沟。

weixin_34411563的博客 359

AHP在大数据开发中的实战落地:从权重设计到生产部署

层次分析法(AHP)作为一种结构化主观判断量化工具,正成为解决大数据场景中特征加权、多模型融合与指标体系构建等核心问题的关键方法。其原理基于判断矩阵与一致性检验,技术价值在于将模糊的业务优先级转化为可复现、可审计、可工程化的数值权重。广泛应用于用户流失预警、风控模型融合、电商GMV归因及AB实验归因等典型场景。本文聚焦AHP在真实大数据Pipeline中的嵌入方式、一致性校验陷阱规避、Excel到Spark/Flink的工程化实现,以及权重配置中心化与动态演进机制,助力数据工程师跨越‘数学正确’与‘业务可信

weixin_33754065的博客 405

SLG游戏多赛季配置管理架构设计与实践

游戏配置管理是大型在线游戏开发中的关键技术,其核心在于实现参数版本化与动态更新。通过JSON Schema等数据校验机制确保配置规范性,结合CI/CD流水线实现自动化部署。在SLG游戏多赛季场景下,配置系统需要解决短周期迭代、复合型参数结构等特殊挑战。采用配置中心化设计(如Apollo/Nacos)和特性开关技术,可有效支持灰度发布与紧急回滚。实践表明,良好的配置管理体系能减少92%的线上事故,将赛季更新耗时从4小时缩短至15分钟,为游戏运营提供坚实保障。

weixin_30693683的博客 745
上一篇: 使用Apache Avro序列化、反序列化数据
下一篇: 生态 | Apache Hudi集成Apache Zeppelin(转载)
Mathieu66
博客等级 码龄10年 68粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值