{"componentChunkName":"component---src-templates-best-practice-detail-tsx","path":"/best-practice/2021-12-20-eb","result":{"data":{"currentBlog":{"id":"784c0655-b24f-5194-bbc4-0dd510124c66","frontmatter":{"thumbnail":"https://qcloudimg.tencent-cloud.cn/raw/17096bffe9b2863930506427e0e4b35a.jpg","authors":["杜佳辰"],"categories":["best-practice"],"date":"2021-12-20T00:00:00.000Z","title":"EventBridge 最佳实践场景三：基于 EventBridge 设计零售业务中台","description":"本文以零售中台为例介绍如何通过 EventBridge 搭建业务中台的基础能力","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","云函数"],"keywords":null,"outdated":null},"wordCount":{"words":208,"sentences":30,"paragraphs":30},"fileAbsolutePath":"/opt/build/repo/content/best-practice/2021-12-20-eb.md","fields":{"slug":"/best-practice/2021-12-20-eb/","keywords":["serverless","无服务器","云函数","事件","投递","中台","EventBridge","业务","处理","自定义","完成"]},"html":"<h2 id=\"01-背景介绍\"><a href=\"#01-%E8%83%8C%E6%99%AF%E4%BB%8B%E7%BB%8D\" aria-label=\"01 背景介绍 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>01. 背景介绍</h2>\n<p>随着信息化的不断发展，当前不少零售企业都拥有不少内部系统来实现企业信息化，例如 使用ERP、CRM 等业务系统来管理商品、用户等信息，使用 OA、财务等内部系统完成服务支持。然而，多项系统彼此闭环，难以统一管理，这些问题直接促进了中台的出现。</p>\n<p>中台服务最大的价值也在于此，它提供了一个统一的平台接收不同事件，实现企业内部信息共享，并将事件转发给对应的下游服务进行消费处理，从而把更多的系统连接在一起。</p>\n<p>当中台化成为越来越多传统零售企业的变革方向，如何设计和开发中台架构成了不少企业面临的新问题。不同系统之间的信息结构千差万别，设计一套统一的规范完成事件接入与处理，往往是一个庞大的工作量。EventBridge 的出现，则为这个问题提供了一个完美的解决方案。</p>\n<p>作为一款安全、稳定、高效的无服务器事件管理平台，EventBridge 事件总线可以接收来自应用程序、软件即服务（SaaS）和腾讯云服务的实时事件及相关数据流，通过集成消息推送和 SCF 云函数投递目标，实现事件快速分发与实时消费，简化事件驱动中台架构的设计和研发成本。</p>\n<h2 id=\"02-架构设计\"><a href=\"#02-%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1\" aria-label=\"02 架构设计 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>02. 架构设计</h2>\n<p>如图，以零售中台为例，EventBridge 提供了统一的事件投递规范，业务方产生的不同类型事件（如用户下单、商品入库、订单更新等），通过 EB API 以相同规范进行投递，由 EB 进行事件的过滤、提取后，根据配置的不同路由规则，将对应事件投递给相应的处理目标，完成事件的自动化处理。在该场景下，EventBridge 完成了业务中台的基础能力，企业也可以基于 EB 提供的接口规范以及路由原则，将 EB 作为底层架构，完成更复杂的业务中台搭建，从而简化开发成本。</p>\n<p><img src=\"https://docimg6.docs.qq.com/image/wdnQmWD7SjKl5TMa9UPBiQ.png?w=1280&#x26;h=599.0867579908676\"></p>\n<h2 id=\"03-方案优势\"><a href=\"#03-%E6%96%B9%E6%A1%88%E4%BC%98%E5%8A%BF\" aria-label=\"03 方案优势 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>03. 方案优势</h2>\n<ol>\n<li>统一事件规范：为复杂多样的业务系统提供统一标准的事件规范，保证事件一致性，方便后续处理。</li>\n<li>简化开发流程：利用 EB 自带规则匹配与处理功能，以配置化的方式来进行不同来源事件的分发处理，降低开发门槛，提升构建效率。</li>\n<li>海量数据实时处理：EB 作为为流式的数据承担通道，可以在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据路由，实现海量业务事件的实时处理。</li>\n<li>丰富拓展能力：经过 EB 处理的事件保证了格式规范的统一，后端可以直接推送给不同的业务系统进行消费和业务逻辑处理；目前已完成和云函数 SCF 的集成，可基于函数通过任意一种编程语言开发数据处理逻辑，连接不同的系统与不同服务。</li>\n</ol>\n<h2 id=\"04-基本步骤\"><a href=\"#04-%E5%9F%BA%E6%9C%AC%E6%AD%A5%E9%AA%A4\" aria-label=\"04 基本步骤 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>04. 基本步骤</h2>\n<p>如果想完成上述架构的搭建，具体的部署流程是怎样的呢？接下来将为大家进行具体的步骤介绍，可以了解如何通过 EventBridge，快速完成一个基础中台架构的搭建：</p>\n<h4 id=\"步骤一：绑定事件源\"><a href=\"#%E6%AD%A5%E9%AA%A4%E4%B8%80%EF%BC%9A%E7%BB%91%E5%AE%9A%E4%BA%8B%E4%BB%B6%E6%BA%90\" aria-label=\"步骤一：绑定事件源 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>步骤一：绑定事件源</h4>\n<p>EventBridge 目前支持三类事件源的投递：</p>\n<ul>\n<li>云服务事件源：云服务产品产生的事件，如监控告警事件、云上操作审计事件等，该类事件默认投递至云服务事件集，由业务方主动投递，用户不可修改或关闭，可以在「事件总线控制台」--「云服务事件集」详情页面查看目前支持的所有云服务事件。</li>\n<li>SaaS 事件源：基于鹊桥 iPaaS 实现，目前鹊桥 iPaaS 企业应用平台已完成与 Eventbridge 事件总线的对接，鹊桥 iPaaS 支持的 50+ SaaS 应用均可实现到 EB 的投递，想了解更多可以扫码（文末）入群交流。</li>\n<li>自定义事件源：除了默认投递的事件外，EB 还支持自定义业务事件投递，您可以通过 Ckafka、TDMQ 等消息队列产品投递，API 网关 URL 回调，或者直接调用 API 接口等方式，自定义投递由业务方产生的事件信息。</li>\n</ul>\n<p>对于零售中台架构，业务平台产生的事件为自定义事件，可通过调用接口或回调的方式，以统一规范投递给 EventBridge。</p>\n<h4 id=\"步骤二：配置路由规则\"><a href=\"#%E6%AD%A5%E9%AA%A4%E4%BA%8C%EF%BC%9A%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99\" aria-label=\"步骤二：配置路由规则 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>步骤二：配置路由规则</h4>\n<p>如何对收集到的不同业务来源事件进行分类处理，是中台系统需要关注的另一个问题，EventBridge 的规则过滤与筛选能力可以有效解决。基于 EB 标准事件格式，开发者可以自定义不同的字段匹配规则，来确定不同的事件需要被哪一个规则过滤，并进行简单的事件分析转换，实现海量数据分类高效处理。</p>\n<p><img src=\"https://qcloudimg.tencent-cloud.cn/raw/71dd8da95ec7bb85a1be9f72f7b58d7b.png\"></p>\n<h4 id=\"步骤三：绑定推送目标\"><a href=\"#%E6%AD%A5%E9%AA%A4%E4%B8%89%EF%BC%9A%E7%BB%91%E5%AE%9A%E6%8E%A8%E9%80%81%E7%9B%AE%E6%A0%87\" aria-label=\"步骤三：绑定推送目标 permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>步骤三：绑定推送目标</h4>\n<p>完成规则的配置后，业务方可以根据实际场景需要，将不同事件推送给指定的下游平台完成消费，实现相应业务逻辑，完成基本中台架构的搭建。</p>\n<hr>\n<p>识别下方 👇 二维码，进入「事件总线」交流群</p>\n<img src=\"https://qcloudimg.tencent-cloud.cn/raw/dd4f0a2cc7a171efe8d89aae9b55a600.png\" width=\"200\">\n<hr>\n<blockquote>\n<p><strong>传送门：</strong></p>\n<ul>\n<li>GitHub: <a href=\"https://github.com/serverless/serverless/blob/master/README_CN.md\">github.com/serverless</a></li>\n<li>官网：<a href=\"https://serverless.com/\">serverless.com</a></li>\n</ul>\n</blockquote>\n<p>欢迎访问：<a href=\"https://serverlesscloud.cn/\">Serverless 中文网</a>，您可以在 <a href=\"https://serverlesscloud.cn/best-practice\">最佳实践</a> 里体验更多关于 Serverless 应用的开发！</p>","tableOfContents":"<ul>\n<li><a href=\"/best-practice/2021-12-20-eb/#01-%E8%83%8C%E6%99%AF%E4%BB%8B%E7%BB%8D\">01. 背景介绍</a></li>\n<li><a href=\"/best-practice/2021-12-20-eb/#02-%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1\">02. 架构设计</a></li>\n<li><a href=\"/best-practice/2021-12-20-eb/#03-%E6%96%B9%E6%A1%88%E4%BC%98%E5%8A%BF\">03. 方案优势</a></li>\n<li>\n<p><a href=\"/best-practice/2021-12-20-eb/#04-%E5%9F%BA%E6%9C%AC%E6%AD%A5%E9%AA%A4\">04. 基本步骤</a></p>\n<ul>\n<li>\n<ul>\n<li><a href=\"/best-practice/2021-12-20-eb/#%E6%AD%A5%E9%AA%A4%E4%B8%80%EF%BC%9A%E7%BB%91%E5%AE%9A%E4%BA%8B%E4%BB%B6%E6%BA%90\">步骤一：绑定事件源</a></li>\n<li><a href=\"/best-practice/2021-12-20-eb/#%E6%AD%A5%E9%AA%A4%E4%BA%8C%EF%BC%9A%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99\">步骤二：配置路由规则</a></li>\n<li><a href=\"/best-practice/2021-12-20-eb/#%E6%AD%A5%E9%AA%A4%E4%B8%89%EF%BC%9A%E7%BB%91%E5%AE%9A%E6%8E%A8%E9%80%81%E7%9B%AE%E6%A0%87\">步骤三：绑定推送目标</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>"},"previousBlog":{"id":"b1ff71c1-246a-54de-98f0-43b14bc54c2c","frontmatter":{"thumbnail":"https://qcloudimg.tencent-cloud.cn/raw/8a254b80585d6f95fcc30b376d2f9316.png","authors":["云函数 SCF & 消息队列 Ckafka"],"categories":["best-practice"],"date":"2021-12-21T00:00:00.000Z","title":"腾讯云 CKafka 联合云函数重磅上线 DataHub，让数据流转更简便","description":"让数据实时处理更简便","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","云函数"],"keywords":null,"outdated":null},"wordCount":{"words":302,"sentences":64,"paragraphs":64},"fileAbsolutePath":"/opt/build/repo/content/best-practice/2021-12-21-datahub.md","fields":{"slug":"/best-practice/2021-12-21-datahub/","keywords":["go","serverless","云函数","DataHub","数据","tencent"]}},"nextBlog":{"id":"44398282-4e90-598e-b188-5e5dc9ed194b","frontmatter":{"thumbnail":"https://qcloudimg.tencent-cloud.cn/raw/6d6bcba1df7d10f01db0674358f0267d.jpg","authors":["杜佳辰"],"categories":["best-practice"],"date":"2021-12-16T00:00:00.000Z","title":"EventBridge 最佳实践场景二：使用 EventBridge + SCF 实现服务器异常的自动回滚","description":"本文以服务器异常为例为您介绍自动化运维架构快速搭建的方法。","authorslink":null,"translators":null,"translatorslink":null,"tags":["Serverless","云函数"],"keywords":null,"outdated":null},"wordCount":{"words":126,"sentences":26,"paragraphs":26},"fileAbsolutePath":"/opt/build/repo/content/best-practice/2021-12-16-eb.md","fields":{"slug":"/best-practice/2021-12-16-eb/","keywords":["serverless","无服务器","云函数","推送","告警","事件","tencent","docs","qq"]}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"blogId":"784c0655-b24f-5194-bbc4-0dd510124c66","previousBlogId":"b1ff71c1-246a-54de-98f0-43b14bc54c2c","nextBlogId":"44398282-4e90-598e-b188-5e5dc9ed194b"}}}