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

兰州网站建设技能论文ps做网站的效果图

兰州网站建设技能论文,ps做网站的效果图,上海方正大厦网站建设,网站充值这么做Pulsar-sql.png 背景 为了让业务团队可以更好的跟踪自己消息的生产和消费状态#xff0c;需要一个类似于表格视图的消息列表#xff0c;用户可以直观的看到发送的消息#xff1b;同时点击详情后也能查到消息的整个轨迹。 消息列表 点击详情后查看轨迹 原理介绍 由于 Pulsar … Pulsar-sql.png 背景 为了让业务团队可以更好的跟踪自己消息的生产和消费状态需要一个类似于表格视图的消息列表用户可以直观的看到发送的消息同时点击详情后也能查到消息的整个轨迹。 消息列表 点击详情后查看轨迹 原理介绍 由于 Pulsar 并没有关系型数据库中表的概念所有的数据都是存储在 Bookkeeper 中为了模拟使用 SQL 查询的效果 Pulsar 提供了 Presto (现在已经更名为 Trino)的插件。 Trino 是一个分布式的 SQL 查询引擎它也提供了插件能力如果我们想通过 SQL 从自定义数据源查询数据时基于它的 SPI 编写一个插件是很方便的。 这样便可以类似于查询数据库一样查询 Pulsar 数据 Pulsar 插件的运行流程如上图所示 启动的时候通过 Pulsar-Admin 接口获取一些元数据比如 Schemetopic 分区信息等。然后会创建一个只读的 Bookkeeper 客户端用于获取数据。之后根据 SQL 条件过滤数据即可。 相关代码 使用 Pulsar-SQL image.png 使用起来也很简单官方提供了两个命令 sql-worker: 会启动一个 trino 服务端同时运行了 Pulsar 插件sql: 就是一个 SQL 命令行终端。 遇到的问题 自己在本地运行的时候自然是没问题可是一旦想在生产运行同时如果你的 Pulsar 集群是运行再 k8s 环境中时就会碰到一些问题。 无法使用现有 Trino 集群 首先第一个问题是如果生产环境已经有了一个 Trino 集群想要复用的时候就会碰到问题常规流程是将 Pulsar 的插件复制到 Trino 的 Plugin 目录然后重启 Trino 后就能使用该插件。 当然社区也是支持这么做的但是当我将 Pulsar-plugin 复制到 Trino 中运行的时候却失败了整体的流程可以参考这个 issuehttps://github.com/apache/pulsar/discussions/20941 简单来说 Trino 的官方镜像和 pulsar-plugin 并不能兼容这个问题直接影响到我们是否可以在生产环境使用它。 但是手动编译出来的 Trino 服务和插件是兼容的可以直接运行。 image.png 因此我只能在本地编译出 Trino 服务端和 pulsar-plugin 然后打包成一个镜像来运行了当然这样的坏处就是无法利用到我们现有的 Trino 集群又得重新部署一个了。 image.png 流程也比较麻烦 首先是本地编译 Pulsar-SQL 模块将生成物复制到当前目录执行 make docker 打出 docker 镜像并上传到私服再执行 kubectl 将 trino 部署到 k8s 环境中 整个流程做下来加上和社区的沟通更加确定这个功能应该是很少有人在生产环境使用的毕竟第一个坑就很麻烦更别提后续的问题了。 Presto 插件不支持 AuthToken 第二个问题也是个深坑当我把 Trino 部署好查询数据的时候直接抛了一个调用 pulsar-admin  接口连接超时的异常。 结果排查了半天发现原来是 pulsar-plugin 里没有提供 JWT 的验证方式而我们的 Pulsar 集群恰好是打开了 JWT 验证的。 为此我只能先在本地修复了这个问题同时也提交了 PR预计会在下一个大版本合并吧https://github.com/apache/pulsar/pull/20860 新创建的 topic 查询失败 第二个问题是当查询一个新创建的 topic 时客户端会直接 block相关的复现流程在这里https://github.com/apache/pulsar/issues/20910 image.png 这个问题还好不是很致命是我在本地测试的时候无意间发现的。 本地我已经修复了后面也提交了一个 PR目前还在讨论中https://github.com/apache/pulsar/pull/20911 查询消息会丢失最后一条 这个问题也不是很严重数据量少的时候会发现就是在指定了消息发送时间的查询条件时最后一条消息会被过滤掉相关 issue 在这里https://github.com/apache/pulsar/issues/20919这个我只是定位到了原因但不太清楚 为什么要这么做(-1)影响也不是很大就放在这里搁置了。 Schema 不兼容 最后发现的一个问题是我们线上某些 topic 查询数据的时候会抛出 Not a record: string的异常但只是部分 topic也排查了很久整个源码中没有任何一个地方有这个异常。 https://github.com/apache/pulsar/issues/20945 image.png 根本原因是生产者生成的 schema 有问题类型已经是 JSON 了但是 schema 却是 string这样导致 pulsar-plugin  在反序列化 schema 的时候抛出了异常由于是 pb 反序列化抛出的异常所以源码中都搜索不到。 没有问题的 topic 使用了正确的 schema 后续我也在本地修复了这个问题当抛出异常后就将 schema 降级为基本类型进行解析。 不过本质问题还是客户端使用有误如果对 schema 理解不准确的话还是建议使用 byte[] 吧这样至少兼容性不会有问题。相关 PRhttps://github.com/apache/pulsar/pull/20955 总结 Pulsar-SQL 是一个非常有用的功能只是我们使用过程中确实发现了一些问题大部分都已经修复了希望对后续使用该功能的朋友有所帮助。#Pulsar PS最近也在做视频相关的教程感兴趣的朋友可以关注下面的视频号 往期推荐 VictoriaLogs一款超低占用的 ElasticSearch 替代方案 k8s 常见面试题 新手如何快速参与开源项目 从 Pulsar Client 的原理到它的监控面板 点分享 点收藏 点点赞 点在看
http://www.pierceye.com/news/478399/

相关文章:

  • 建筑工人找活的平台郑州网站优化托管
  • 微网站 下载网站建设找刘贺稳营销专家
  • 网站建设的需求文档视频直播网站开发
  • 高州网站设计鄂尔多斯建设招投标网站
  • 建立网站看病的经济问题菜单设计制作图片
  • 网站推广优化招聘seo整站优化托管
  • 企业网站建设方案百度文库北京正邦品牌设计公司
  • 新乡个人网站建设国际婚恋网站排名
  • 昆明网站建设哪家seo内部优化具体做什么
  • 网站架构设计师浙江省建设厅网站证件
  • 服务器和网站维护安康网站建设公司报价
  • 网站搭建课程标准asp.net做购物网站
  • 网站代码怎么放seo怎么做
  • 网站建设需求说明书怎么写新手php网站建设
  • 织梦做招聘网站中山那些网站公司
  • 网站开发工程师公司购物网站推广
  • 做的网站打不开产品网站建设必要性
  • 网站建设模板免费下载制作网站公司图片
  • 网站建设是一次性给钱还是什么pr模板免费下载网站
  • 大气物流公司网站源码建设家装网站
  • 网站后台关键词交流建设网站
  • 学院网站建设总结华北理工大学学科建设处网站
  • 简单的网站php开发教程用cms做的网站 的步骤
  • seo杭州seo快速排名利器
  • 谷歌不收录网站一个完整的短视频策划方案
  • 网页制作培训网站关于营销的最新的新闻
  • 免费查找资料的网站wordpress中文4.8
  • 凡科建设的网站如何中式建筑公司网站
  • 珠海网站建设品牌策划开发设计公司网站
  • 找别人做的网站怎样修改招聘app