在这篇文章中,我们将讨论以下话题:

  • Stack Overflow 架构案例研究
  • 什么是 Webhook
  • 8 个 OOP 核心概念
  • 发布代码到生产并确保代码质量
  • 开发者路线图

什么是 Webhook

下图显示了轮询和 Webhook 之间的对比。

假设我们运营一个电商网站。客户端通过 API 网关向订单服务发送订单,然后进入支付服务进行交易。支付服务然后与外部支付服务提供商(PSP)对话以完成交易。

有两种处理与外部 PSP 通信的方式。

1. 短轮询(Short Polling)

发送支付请求给 PSP 后,支付服务不断询问 PSP 支付状态。经过几轮后,PSP 终于返回状态。短轮询有两个缺点:

  1. 持续轮询状态需要支付服务的资源
  2. 外部服务直接与支付服务通信,造成安全漏洞

2. Webhook

我们可以向外部服务注册一个 Webhook。这意味着:当你对请求有更新时,在某个 URL 回电我。当 PSP 完成处理时,它将调用 HTTP 请求来更新支付状态。这样,编程范式改变了,支付服务不再需要浪费资源来轮询支付状态。

如果 PSP 从不回电怎么办? 我们可以设置一个家务作业每小时检查支付状态。

Webhook 通常被称为反向 API 或推送 API,因为服务器向客户端发送 HTTP 请求。使用 Webhook 时我们需要注意 3 件事:

  • 我们需要设计适当的 API 供外部服务调用
  • 我们需要在 API 网关中设置适当的规则以出于安全原因
  • 我们需要在外部服务注册正确的 URL

8 个 OOP 核心概念

面向对象编程(OOP)自 1960 年代就已存在,但在 1990 年代随着 Java 和 C++ 等语言真正兴起。

为什么 OOP 重要?

OOP 允许你为数字对象创建蓝图(称为类),这些对象知道如何相互通信以在你的软件中实现惊人的事情。拥有一个组织良好的工具箱而不是杂乱的抽屉使你的代码更整洁且更容易更改。

为了掌握 OOP,将其想象成创建可以以无数方式组合的数字乐高积木。拿一本书或看一些教程,然后练习编写代码——没有比练习更好的学习方式了!

不要害怕 OOP——它是你编码员工具箱中的强大工具,通过一些练习,你将能够开发从巧妙应用到数字摩天大楼的一切!

公司代码质量流程

方法通常取决于公司规模。没有一刀切的解决方案,但我们尝试提供一般概述。

1-10 名员工

在公司早期阶段,重点是找到产品市场契合度。强调主要在交付和实验上。利用现有免费或低成本工具,开发人员处理测试和部署。他们还密切关注客户反馈和报告。

10-100 名员工

一旦找到产品市场契合度,公司努力扩展。他们能够投资于关键功能的质量,并可以创建快速演进流程,如计划部署和测试程序。公司还主动建立客户支持流程来处理客户问题并提供主动警报。

100-1,000 名员工

当公司的上市策略证明成功,产品快速扩展和增长时,它开始优化工程效率。可以购买更多商业工具,如 Atlassian 产品。引入一定程度的工具标准化,自动化开始发挥作用。

1,000-10,000+ 名员工

大型科技公司构建实验工具和自动化以确保质量并在大规模收集客户反馈。例如,Netflix 以其”在生产中测试”策略而闻名,通过实验进行一切。

问题:每个公司都是独特的。你的公司目前处于什么阶段,你使用什么工具?

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP65: What Is A Webhook

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。