首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解惑 | 为什么根据时间戳获得offset为空呢?

/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --time ,但是在测试时候,发现有的时间戳会获取不到offset,是空...stackoverflow.com/questions/30030393/strange-behavior-of-kafka-tool-kafka-tools-getoffsetshell 其中已经有大佬给出了答案,但是还是不求甚解...所以这个命令 --time 只能匹配个大概 offset 而已,无法精确。如果精确,可以调用 java api 来封装成接口或工具使用。...三、调用 kafka java api 获取时间戳对应 offset,并封装成工具脚本 很纳闷,为什么官方不提供获取时间戳对应精准 offset 呢?...既然官网没有,那我就用 java api 封装一个工具脚本吧。 先展示下效果: .

2.5K30

随便写一个 API获得 2.5 亿访问量...

公司 http://ipinfo.io 就是回答 Stack Overflow 上面的问题开始。它是一个查看 IP 详情 API,可以告诉你站点访问者地理定位、组织详情等等。...用了几个小时内构建了这个 API,发布了答案,就没再管它了。直到几个月之后,后来收到了一封邮件,说服务器负载过高。竟然每天都在接收着数百万请求! ? ?...这个副业现在成了主业,开始全职做它。每天会收到 2 亿 5 千万请求,但实话实说,我们基本没怎么宣传这个 API。 我们做仅仅是成为开发者社区活跃用户,为社区做了点微小贡献。...最终,回答开始变得至关重要,注意到那些在过去读过答案的人会在其他问题中链接到我网站。因为 API 解决了问题,其他开发者开始为做口碑营销。 参与社区能活动够零成本在市场推广你产品。...最后,说真的,如果不是这次经历,永远想不到,为了回答一个问题,用几个小时构建了一个 API,然后每日能获得数亿请求,因此还成立公司。

41110
您找到你想要的搜索结果了吗?
是的
没有找到

MYSQL 8 metadata开始到如何获得语句由于获取锁失败错误

最近有同学提出,你文字还OK,就是排版有问题,嗯,的确。排版的确是很烂,也想改变,可能基于工作中时间问题,以及学习速度,让实在是没有能力在排版上下功夫。...p.time and i.trx_mysql_thread_id not in (connection_id(),p.id); 通过这个方式可以将长时间等待metadata lock 不工作事务数据库中找出来...,用户prepare状态会被保持直到XA_COMMIT 或者 XA_ROLLBACK 除了这个问题以外,就是关于如何发现曾经MYSQL 发生过错误,一般情况MYSQL 5.X我们都是去找到ERROR...LOG ,里面去找寻可能发生信息,但是MYSQL 8 我们在performance_schema 中已经有了 events_errors 系列,这些表可以让你各个层面来了解MYSQL 在最近都发生过什么错误...; 以上这个表,主要是访问数据库用户角度来出发,查看这个用户曾经发生过什么样错误,我们可以改写一下这个查询语句,来更精确对这个账号发生过什么错误进行判断。

1.9K30

API设计:先思考再编码

API是定义应用程序接口通用术语,换句话说,定义了用户(人或机器)如何与程序交互。在Web开发世界中,API通常是响应客户端结构化文本数据请求网站端点集合。...喜欢上了后者:即使它是邻居新酷孩子,它已经成熟足够和能够让人愉快工作。这里会阐述为什么。...官方网站上获得定义: API蓝图(支持markdown语法)是简单,并且可以在API生命周期访问每个元素。它语法简洁而富有表现力。...name=apple&rating=4 您也可以使用连接参数&,搜索apple和评级为4蛋糕。 6.使用4xx返回错误。 每个人都憎恨HTTP响应状态代码是2xx,却返回一个错误消息!...难以误用:如果发出了错误请求,返回错误并提供信息。 简单是比复杂更好:简单事情在每个方面都很容易。 在实现它之前使用你API:创建一个模拟服务器来获得最终结果并演示。

1.1K30

GraphQL是API未来,但它并非银弹

3 降低有效载荷 在这一段中,作者指出,RESTful API 不允许部分响应。这是错误。这里有一个例子: GET /users?...当我们讨论 GraphQL 中类型安全时,其实我们意思是,我们相信 GraphQL 服务器行为会与自省查询响应保持一致。为什么我们不能同样信任接口定义规范呢?想我们可以。...对于 BFF 多么强大,以及与重量级 GraphQL 客户端相比,我们“stale while revalidate 模式”中获得了多少好处,想我已经解释得够多了。...很抱歉,但是又一次得出了一个完全不同结论。如果将规则设置为不允许版本控制,则可以添加新端点或替换现有端点实现。在这种情况下,GraphQL 和 REST 之间没有区别。...8 错误处理更好 关于错误处理,作者描述了这样一个场景:与使用部分数据响应单个 GraphQL 查询相比,客户端将不得不进行 3 次连续 REST API 调用。

2K10

REST 十诫

另一方面,还有一些更新、更现代参与者,尝试着基于 REST API获得一些关注。当然,指的是 GraphQL。...端点名称到输入参数,再到 JSON 键。 所以让我们 API 端点开始。规则也非常简单: 不要用动词,而是用名词。 用复数替代单数。...客户端错误响应代码( 4xx 开始)。 服务器错误响应代码(以 5xx 开头)。 因此,你真的拥有你需要所有状态。 OK、未授权、未找到、内部服务器错误到超文本咖啡壶控制协议,所有这些都有。...因此,假定你已经有了一个端点,它接受了 user_id 并获得了用户资料。...它以某种方式被传送到 APIAPI 自然会出发一次确认和错误,并且响应 400(错误请求)。与此同时,API 应当发出一种通用错误响应模式,使客户端能够将任意或全部信息显示给终端用户。

36920

设计 API 22 条最佳实践,实用!

大家好,是小富~ 在这个微服务世界里,后端API一致性设计是必不可少。 今天,我们将讨论一些可遵循最佳实践。我们将保持简短和甜蜜——所以系好安全带,出发咯!.../version 用版本号响应对/version请求。 /metrics 这个端点将提供各种指标,如平均响应时间。 也强烈推荐使用/debug和/status端点。 9....在你响应体中包括总资源数 如果API返回一个对象列表,则响应中总是包含资源总数。你可以为此使用total属性。...在嵌套资源URL中使用关系 以下是一些实际例子: GET /shops/2/products:shop 2获取所有产品列表。...例子包括无效身份验证凭证、不正确参数、未知版本id等。 当由于一个或多个服务错误而拒绝客户端请求时,一定要返回4xx HTTP错误代码。 考虑处理所有属性,然后在单个响应中返回多个验证问题。

1.2K10

REST API 设计最佳实践:如何构建、设计和使用 API

但是,也曾遇到过一些让 REST 蒙羞 API 例子,错误使用 HTTP 状态码、纯文本响应、不一致模式、插入端点中动词......个人建议使用复数形式。为什么?因为它非常适合所有类型端点可以看到 GET /book/2/ 是没问题。但是 GET /book/ 呢?我们是在获取图书馆里唯一那本书、其中几本还是全部?...在响应体中返回错误详情 当API服务器处理错误时,将错误详细信息包含在JSON主体中可以帮助使用者进行调试,这是是非常方便,如果您还能说明哪些字段受到了错误影响,那就更好了!...你API最糟糕事情莫过于返回一个带有200 OK状态码错误响应。 这是最差语义,相反,应该返回一个能准确描述错误类型有意义HTTP状态码。...例如,如果你选择某个POST端点返回201 Created,那么对于每个POST端点都应使用相同HTTP状态码。为什么?因为消费者不应该担心在哪种情况下哪个方法在哪个端点上会返回哪个状态码。

30840

安息吧 REST API,GraphQL 长存

客户端向 GraphQL 层发起单个请求,并获得一个完全符合客户端需求响应。 引入 GraphQL 层有诸多好处。例如,一大好处便是能与多个服务进行通信。...所以让回答一下你最有可能问问题。 REST API 有什么问题? REST API 最大问题是其多端点本质。这要求客户端进行多次往返以获取数据。...它们当然不是 REST API 所有问题,也不想讨论 REST API 是什么。主要讨论是比较流行基于资源 HTTP 端点 API。...这些 API每一个最终都会变成一个具有常规 REST 端点 + 由于性能原因而制定自定义特殊端点组合。这就是为什么 GraphQL 提供了更好选择。 GraphQL如何做到这一点?...最后一个概念解释了为什么个人认为 GraphQL 是一个规则颠覆者原因。 这些都是高层次概念。让我们进一步了解一些细节。 为了解决多次往返问题,GraphQL 让响应服务器只是作为一个端点

2.7K30

flask 应用程序编程接口(API)最后一节

为了帮助我生成这些错误响应将在app / api / errors.py中写入error_response()函数:除了错误有效替代之外,将使用HTTP协议状态代码来指示常见错误类型。...另外,还需要确保username和email串联尚未被其他用户使用,因此尝试使用获得用户名和电子邮件数据库中加载用户,如果返回了有效用户,那么也将返回错误给客户端。...保存在g.current_user中,盔甲可以API视图函数中访问它。 错误处理函数只返回由app / api / errors.py模块中error_response()函数生成401错误。...如果您直接对上面列出受令牌保护端点发起请求,导致得到一个401错误。为了成功访问,您需要添加Authorization标题,其值是请求/ api / tokens获得令牌值。...对于JSON响应将使用API blueprint中引入error_response辅助函数,但在这里要将其重命名为api_error_response(),刹车清楚它作用和来历

5K10

特斯拉首次发布第三方应用集成 API 文档

文档包含了这些 API 端点:充电端点、合作伙伴端点、用户端点、车辆端点和车辆命令,提供了 cURL、JavaScript、Python 和 Ruby 请求示例。...' 梅赛德斯奔驰互联汽车战略师 Mark Gerban表示: 很好奇这是否可以为开发人员带来收入,因为如果他们想要获得关注,吸引更大参与者,就需要提供相应回报。... Hacker News 一个讨论帖可以看到许多开发人员为此感到兴奋,但图形和计算机视觉工程师 James Darpinian 警告说: 多年来,通过逆向特斯拉官方应用程序 API 已经可以获得几乎所有这些特性...设备通过建立 WebSocket 连接来推送遥测记录,Fleet Telemetry 则向客户端提供确认、错误或速率限制响应。...要获取 API 密钥并与 API 端点发生交互,开发人员必须创建特斯拉帐户并请求获得批准。

23530

BUG赏金 | 无效API授权导致越权

图片来源于网络 大家好,想分享一下是如何在某邀请项目中发现一个简单API授权错误,该错误影响了数千个子域,并允许在无需用户干预情况下使用大量不受保护功能,帐户删除到接管甚至于泄漏部分信息...,因为它列出了API文档并指定了请求和响应结构。...该网站似乎未提供任何API,并且找不到任何生成APItoken方法,因此决定稍后再进行检查。在对该网站进行深入分析后,仍然不能在请求或响应中找到一个APItoken。...但是,注意到许多请求都有 authorization 头。 决定只复制authorization 头并将其包含在对发现API端点调用中。...创建了另一个帐户,并尝试通过api / user / editPOST请求更改其密码。 ? ? 可以看到响应成功!

1.4K30

REST API有关幂等性等11条最佳实践

职业生涯中,使用了数百个 REST API 并制作了数十个。由于我经常在 API 设计中看到相同错误,因此认为写下一组最佳实践可能会更好。...规则 #4:不要将数组作为顶级响应返回 来自端点顶级响应应该始终是一个对象,而不是一个数组。...如果您端点返回顶级数组,您将需要一个全新端点。 规则 #5:不要返回映射结构 经常看到 JSON 响应中用于集合映射结构。相反,返回一个对象数组。...如果将 404 作为成功处理,而堆栈中失败返回 404,作业就会队列中删除,删除也不会传播。在现实生活中就遇到过这种情况。...糟糕选项:提供一个端点来列出最近交易 如果 API 未提供任何有关幂等性显式帮助,则这是客户端开发人员解决方法: 每次提交之前,服务器获取最近事务列表。

16320

怎样让 API 快速且轻松地提取所有数据?

作者 | Simon Willison 译者 | 王强 策划 | 万佳 上周在 Twitter 上发起了一个关于 API 端点讨论。...VIAL 用来实现流式响应,以提供“管理员导出功能。它还有一个受 API 密钥保护搜索 API,可以用 JSON 或 GeoJSON输出 所有匹配行。...挑战:如何返回错误 如果你正在流式传输一个响应,你会从一个 HTTP 200 代码开始……但是如果中途发生错误,可能是在通过数据库分页时发生错误会怎样?...挑战:可恢复下载 如果用户通过你 API 进行分页,他们可以免费获得可恢复性:如果出现问题,他们可以他们获取最后一页重新开始。 但恢复单个流就要困难得多。...最简单解决方案:云存储生成和返回 实现这种 API 最健壮方法似乎是技术上最让人觉得无聊:分离一个后台任务,让它生成大型响应并将其推送到云存储(S3 或 GCS),然后将用户重定向到一个签名

1.8K30

13 个设计 REST API 最佳实践

这里推荐使用后者。为什么呢?因为复数形式可以满足所有类型端点需求。 单数形式 GET /article/2/ 看起来还是不错,但是如果是 GET /article/ 呢?...在响应中返回错误详情 当 API 服务器处理错误时,如果能够在返回 JSON body 中包含错误信息,对于接口调用者来说,会一定程度上帮助他们完成调试。...当然可以,不过让讲一个故事: 曾经使用过一个 API,对于它返回所有响应状态码均是 200 OK,同时通过响应数据中 status 字段来表示当前请求是否成功,比如: {...某天,在将某个 API 端点集成到项目中,但是总是收到 500 Internal Error 错误调用端点差不多看起来这样: POST: /entities ``` 调试一段时间之后...分清 401 和 403 当我们遇到 API 中关于安全错误提示时,很容易混淆这两个不同类型错误,认证和授权(比如权限相关)—— 老实讲,自己也经常搞混。

3.5K20

独家 | 提升API设计技能22个最佳实践(附链接)

你是否曾对处处都像猜谜游戏一样糟糕API感到生气, 好吧就曾有过这种体会 。在微服务架构下,我们必须对后端API设计遵循一致性。.../health 使用 200 OK 状态代码响应对 /health 请求。 /version 用版本号响应/version请求。 /metrics 此端点将提供各种指标,例如平均响应时间。...好示例: http://api.domain.com/v1/shops/3/products 始终对API使用版本控制原因是如果你API被外部实体使用, 更改端点会破坏其功能。 12....在您响应中包括资源总数 如果 API 返回一个对象列表,在响应中经常包含资源总数。您可以为此使用 total 属性。 差示例: {users: [ ...]}...由于一个或多个服务错误而拒绝客户端请求时,请务必返回 4xx HTTP 错误代码。 考虑处理所有属性,然后在单个响应中返回多个验证问题。 22.

52650

React工作原理,为什么直接JSBin copy到本地代码无法执行

Friday, February 19, 2016 5:41 PM 当时还纳闷render()里传进去参数既不是function,也不是string,而是一个html tag,这不是syntax error...看了阮一峰老师blog才弄懂, ? 之前忘了把browser.js 也copy 到本地。 ?...Render里面的那个 … 被自动翻译成了JS: React.createElement( … ), 这个broswer.js 是个宝库啊,里面好多大师级js 用法。。。 ?...Reactsource code init时会自动检测Chrome dev toolreact extension装了没,如果没装会在console里打一个message提醒。 ?...就在想react咋知道本地安装了extension没。以前看过一篇Chrome extensionstep by step创建教程。 其实extension也就是一个js文件。

1.9K10

你还在用 REST API 吗?

REST 核心思想是,通过向资源 URL 发送请求并获得响应(通常是 JSON,但这取决于 API)来检索资源。...灵活性 是使用 REST 另一个优势,因为可以将其设计成处理不同类型调用并返回不同数据格式。 REST 劣势 抓取过度——这是指 API 端点提供信息比客户端所需要要多得多。...抓取不足——这是指 API 端点并没有提供所需全部信息。因此,客户端必须发出多个请求才能获取应用程序所需全部内容。 什么是 GraphQL?...这也意味着我们可以定制我们请求,这样我们就可以端点发出任何请求,并且能获得我们所请求任何内容,仅此而已,无需更多操作。我们传递查询并得到响应。...}} 通过使用这样查询,我们将能获得具有以下属性 JSON 响应

1.5K10

22条API设计最佳实践

/version 用版本号响应对/version请求。 /metrics 这个端点将提供各种指标,如平均响应时间。 也强烈推荐使用/debug和/status端点。 9....在你响应体中包括总资源数 如果API返回一个对象列表,则响应中总是包含资源总数。你可以为此使用total属性。...在嵌套资源URL中使用关系 以下是一些实际例子: GET /shops/2/products:shop 2获取所有产品列表。...例子包括无效身份验证凭证、不正确参数、未知版本id等。 当由于一个或多个服务错误而拒绝客户端请求时,一定要返回4xx HTTP错误代码。 考虑处理所有属性,然后在单个响应中返回多个验证问题。...---- ---- 欢迎加入知识星球,一起探讨架构,交流源码。

1.1K20

BUG预警-6款好用API监控工具

此外,我们可以将API监控工具集成到我们 CI/CD 通道中,这样我们就不会将错误代码投入到实际环境中。如果路由失败,我们还可以API监控工具中获得报告并发现路由失败位置、时间、方式和原因。...此示例包括我们希望监控工具中获得大多数关键数据: 测试 分析/图表 警报 集成 何时选择API监控工具 尽管上述示例看起来很典型,但它可能不是开发和部署API最佳方式。...下面,整理了一份指标列表: 时间:发起请求时间 延迟:请求成功或失败所需时间 大小:请求或响应大小。...然后,我们可以过滤结果并查看显示每个测试响应时间图表。...因此,Loggly是一个可以访问API日志工具,它可能是功能测试中创建,并允许用户查看数据。

2.7K20
领券