Tác giả: Ali Ufuk Yucel, Karan Jaswani, Avinash Kolluri, và Michael Gasch
Ngày phát hành: 04 FEB 2026
Chuyên mục: Advanced (300), Amazon EventBridge, Application Integration, Architecture, AWS CloudFormation, AWS Lambda, Case Study, Compute, Serverless, solutions, Solutions Architecture
Bối cảnh
Amazon Key trao quyền cho khách hàng quản lý quyền truy cập vào nhà và doanh nghiệp của họ một cách an toàn thông qua các giải pháp đổi mới. Thông qua một bộ sản phẩm dành cho người tiêu dùng và doanh nghiệp, nhóm Amazon Key đang thay đổi cách khách hàng nhận hàng và quản lý quyền truy cập vào không gian của họ. Dịch vụ In-Garage Delivery của chúng tôi cung cấp một giải pháp an toàn và tiện lợi để nhận các gói hàng và hàng tạp hóa của Amazon trực tiếp bên trong gara của khách hàng. Đối với các nhà quản lý tài sản và chủ tòa nhà, Amazon Key cung cấp các giải pháp quản lý quyền truy cập toàn diện, cho phép các hoạt động giao hàng an toàn và hiệu quả trong các tòa nhà chung cư và cộng đồng có cổng, nâng cao cả bảo mật và tiện lợi cho cư dân.
Trong bài đăng này, chúng tôi khám phá cách nhóm Amazon Key đã sử dụng Amazon EventBridge để hiện đại hóa kiến trúc của họ, biến một hệ thống monolithic kết nối chặt chẽ thành một giải pháp hướng sự kiện linh hoạt. Chúng tôi khám phá những thách thức kỹ thuật mà chúng tôi phải đối mặt, cách tiếp cận triển khai của chúng tôi và các mẫu kiến trúc đã giúp chúng tôi đạt được độ tin cậy và khả năng mở rộng được cải thiện. Bài đăng bao gồm các giải pháp của chúng tôi để quản lý schema sự kiện ở quy mô lớn, xử lý nhiều tích hợp dịch vụ một cách hiệu quả và xây dựng một kiến trúc có thể mở rộng để đáp ứng sự phát triển trong tương lai.
Cơ hội
Kết nối dịch vụ và tính dễ vỡ của hệ thống
Kiến trúc cũ của chúng tôi phải đối mặt với những thách thức đáng kể bắt nguồn từ thiết kế kết nối chặt chẽ, nơi các tương tác dịch vụ tạo ra một mạng lưới phụ thuộc phức tạp ảnh hưởng đến sự ổn định và khả năng mở rộng của hệ thống. Việc sửa đổi dịch vụ đặc biệt khó khăn, vì việc thêm hoặc xóa dịch vụ đòi hỏi phải xem xét cẩn thận nhiều phụ thuộc lẫn nhau. Một sự cố đã làm nổi bật lỗ hổng này khi một vấn đề trong Service-A gây ra một chuỗi lỗi trên nhiều dịch vụ upstream, với thời gian chờ tăng lên dẫn đến các lần thử lại và cuối cùng dẫn đến tình trạng deadlock dịch vụ. Tính dễ vỡ của hệ thống còn được thể hiện rõ hơn khi các vấn đề với một nhà cung cấp thiết bị duy nhất, mặc dù chỉ chịu trách nhiệm cho các hoạt động giao hàng cụ thể, đã gây ra sự suy giảm rộng khắp trên nhiều dịch vụ hệ thống.
Schema sự kiện lỏng lẻo
Cơ sở hạ tầng quản lý sự kiện cũ của chúng tôi thiếu các định nghĩa schema rõ ràng và sử dụng kiến trúc dữ liệu kiểu lỏng lẻo, dẫn đến một số vấn đề nghiêm trọng. Các sự kiện khó duy trì khi các trường hợp sử dụng mở rộng, và việc thiếu tài liệu schema chính thức đã ảnh hưởng đến tính minh bạch và sự hợp tác của nhóm. Thiết kế này khiến việc triển khai các thay đổi không tương thích ngược, chẳng hạn như loại bỏ các trường không sử dụng hoặc các sự kiện để tối ưu hóa hiệu suất, gần như không thể. Nếu không có kho lưu trữ để quản lý schema, sự hợp tác giữa các nhóm để sửa đổi schema (thêm trường, xóa trường, ngừng sử dụng trường hoặc đánh dấu trường là bắt buộc) trở nên khó khăn. Hệ thống cũng thiếu logic validation có tổ chức, khiến các publisher khó xác định các sự kiện không hợp lệ trước khi chúng đi vào hệ thống. Ngoài ra, các schema kiểu lỏng lẻo đã mất ngữ cảnh ngữ nghĩa quan trọng, chẳng hạn như mối quan hệ kế thừa và thành phần giữa các schema sự kiện khác nhau.
Định tuyến và quản lý sự kiện không nhất quán
Logic định tuyến sự kiện được quản lý thủ công và thiếu sự tinh vi cần thiết cho các trường hợp sử dụng đang phát triển. Hệ thống chỉ hỗ trợ validation cơ bản các sự kiện, chủ yếu kiểm tra các trường bắt buộc, với khả năng hạn chế để mở rộng các quy tắc validation hoặc triển khai logic định tuyến phức tạp hơn. Các tính năng thường có sẵn trong các giải pháp có sẵn, chẳng hạn như xuất bản song song cho nhiều subscriber, đòi hỏi nỗ lực phát triển tùy chỉnh đáng kể và chi phí bảo trì liên tục. Việc triển khai chỉ hỗ trợ một số lượng hạn chế subscriber cho pipeline sự kiện, không có lộ trình bền vững để thêm nhiều consumer hơn. Mặc dù đã có những nỗ lực để giảm sự kết nối thông qua các cặp SNS/SQS giữa các dịch vụ, nhưng các giải pháp này được triển khai trên cơ sở ad-hoc, thiếu tiêu chuẩn hóa và tạo thêm chi phí bảo trì. Cách tiếp cận này dẫn đến công việc trùng lặp và không trừu tượng hóa chức năng chung, dẫn đến một hệ thống không hiệu quả và khó bảo trì. Những thách thức này đã cùng nhau làm nổi bật nhu cầu về một cách tiếp cận kiến trúc mạnh mẽ và linh hoạt hơn, có thể phục vụ tốt hơn các nhu cầu phát triển của hệ thống đồng thời cải thiện độ tin cậy, khả năng bảo trì và khả năng mở rộng.
Thiết kế
Với các yêu cầu và thách thức kiến trúc mà chúng tôi phải đối mặt, chúng tôi đã triển khai mẫu single-bus, multi-account để tối ưu hóa kiến trúc hệ thống của chúng tôi. Trong thiết kế này, mỗi nhóm dịch vụ duy trì quyền sở hữu và quyền tự chủ hoàn toàn đối với stack ứng dụng của họ, cho phép các chu kỳ phát triển và triển khai độc lập. Trong khi đó, nhóm DevOps của chúng tôi quản lý một stack cơ sở hạ tầng tập trung bao gồm các quy tắc event bus, cấu hình target và tích hợp dịch vụ. Sự phân tách các mối quan tâm này mang lại một số lợi ích chính:
- Ranh giới quyền sở hữu rõ ràng: Các nhóm dịch vụ có thể tập trung vào logic nghiệp vụ cốt lõi của họ trong khi tận dụng cơ sở hạ tầng sự kiện được tiêu chuẩn hóa.
- Quản trị tập trung: Nhóm DevOps tạo điều kiện cho các mẫu định tuyến sự kiện, kiểm soát bảo mật và giám sát nhất quán trên các tích hợp dịch vụ.
- Vận hành đơn giản hóa: Một event bus duy nhất giảm độ phức tạp vận hành trong khi vẫn duy trì sự phân tách logic thông qua các quy tắc định tuyến được xác định rõ ràng.
- Bảo mật nâng cao: Cấu trúc multi-account cung cấp các ranh giới cách ly tự nhiên trong khi vẫn cho phép các luồng sự kiện cross-account được kiểm soát.
- Tuân thủ hợp lý: Quản lý tập trung các mẫu trao đổi dữ liệu giúp dễ dàng triển khai và duy trì các yêu cầu tuân thủ.
Mặc dù EventBridge cung cấp nền tảng, chúng tôi đã phát triển các thành phần bổ sung để đáp ứng các yêu cầu cụ thể của mình. Nhóm của chúng tôi đã xây dựng ba thành phần chính: một kho lưu trữ schema đóng vai trò là nguồn sự thật duy nhất cho các định nghĩa sự kiện, một thư viện client xử lý validation schema và cung cấp các abstraction thân thiện với nhà phát triển, và một thư viện cơ sở hạ tầng cung cấp các thành phần có thể tái sử dụng để tích hợp subscriber.

Kho lưu trữ Schema sự kiện
Khả năng khám phá và tài liệu schema của Amazon EventBridge cung cấp các giải pháp mạnh mẽ để quản lý kiến trúc hướng sự kiện. Dịch vụ tự động nắm bắt cấu trúc sự kiện trong schema registry, duy trì các phiên bản khi các sự kiện phát triển theo thời gian. Mặc dù EventBridge cung cấp cho nhà phát triển các công cụ để triển khai validation bằng cách sử dụng các giải pháp bên ngoài hoặc mã ứng dụng tùy chỉnh, nhưng hiện tại nó không bao gồm các khả năng validation schema gốc. Đối với kiến trúc hướng sự kiện quy mô lớn của tổ chức chúng tôi, validation schema là một yêu cầu quan trọng. Chúng tôi đã đánh giá hai cách tiếp cận triển khai: một dịch vụ validation tập trung hoặc validation phía client ở cấp publisher/subscriber. Cách tiếp cận tập trung sẽ yêu cầu quản lý cơ sở hạ tầng bổ sung, các cân nhắc về scaling và gây ra latency thông qua các network hop bổ sung. Sau khi phân tích các yếu tố này cùng với các yêu cầu của chúng tôi về quản trị schema và quyền tự chủ của nhóm, chúng tôi đã triển khai một kho lưu trữ schema tùy chỉnh với validation phía client.
Kiến trúc này ưu tiên trải nghiệm nhà phát triển thông qua phản hồi validation tức thì trong khi vẫn duy trì các tiêu chuẩn của chúng tôi về versioning schema và quản lý phát hành. Kho lưu trữ đóng vai trò là nền tảng cho kiến trúc hướng sự kiện của chúng tôi, cung cấp các khả năng thiết yếu để quản trị dữ liệu và kiểm soát chất lượng. Bằng cách hoạt động như nguồn sự thật duy nhất cho các định nghĩa sự kiện, nó cho phép validation được tiêu chuẩn hóa trên các client, thực thi kiểm tra chất lượng dữ liệu, thiết lập ranh giới quyền sở hữu rõ ràng và duy trì các audit trail toàn diện cho các thay đổi schema. Các publisher và subscriber tận dụng các schema này để duy trì tính nhất quán và tương thích của dữ liệu khi các dịch vụ của họ phát triển. Kho lưu trữ đã trở thành công cụ trong việc tạo điều kiện hợp tác hiệu quả giữa các nhóm thông qua khám phá schema tự phục vụ, tài liệu và validation tự động trong quá trình phát triển. Nó duy trì một registry toàn diện các publisher sự kiện và các subscriber tương ứng của họ, cung cấp khả năng hiển thị rõ ràng về các mẫu luồng sự kiện và các phụ thuộc trên toàn hệ thống. Các nhóm có thể nhanh chóng quản lý sự phát triển schema với các chính sách ngừng sử dụng rõ ràng và các đường dẫn di chuyển, trong khi hệ thống giúp phát hiện các thay đổi gây lỗi sớm trong chu kỳ phát triển. Cách tiếp cận hợp tác này đã cải thiện đáng kể tốc độ của nhóm và giảm các vấn đề tích hợp giữa các dịch vụ.
{ "$schema": "http://json-schema.org/draft-04/schema#", "$id": "/resource/event/schema/EventV1.json", "title": "EventV1", "description": "Schema for a simple event.", "type": "object", "properties": { "id": { "description": "Id of the event.", "type": "string" }, "type": { "description": "Type of the event.", "$ref": "EventType.json" }, "time": { "description": "Time at which the event occurred. It uses ISO 8601 Date Time Format. Reference: https://www.iso.org/iso-8601-date-and-time-format.html", "type": "string", "format": "date-time" }, "publisher": { "description": "Publisher of the event.", "$ref": "../core/Publisher.json" } }, "required": [ "id", "type", "time", "publisher" ]}
Thư viện Client
Thư viện client đóng vai trò là một thành phần quan trọng cho cả publisher và subscriber, hợp lý hóa việc tích hợp của họ với event bus trung tâm. Về cốt lõi, thư viện tận dụng Kho lưu trữ Schema sự kiện của chúng tôi, tạo ra các code binding tại thời điểm build để cung cấp cho nhà phát triển các giao diện type-safe và trực quan để tạo và xử lý sự kiện. Cách tiếp cận này giúp tăng đáng kể năng suất của nhà phát triển bằng cách cung cấp các phương pháp đơn giản và tiện lợi để xây dựng sự kiện và tương tác với bus, giảm khả năng xảy ra lỗi và cải thiện khả năng đọc mã.
Một tính năng chính của thư viện client là cơ chế validation tích hợp của nó. Bằng cách sử dụng các schema từ kho lưu trữ cục bộ của chúng tôi, thư viện thực hiện validation kỹ lưỡng các sự kiện trước khi chúng được publish. Cách tiếp cận chủ động này giúp phát hiện các vấn đề tiềm ẩn sớm trong chu kỳ phát triển, đảm bảo rằng chỉ các sự kiện được định dạng tốt tuân thủ các schema đã thỏa thuận mới được đưa vào event bus. Sau khi được validate, thư viện xử lý quá trình serialization và quản lý việc publish các sự kiện thực tế lên bus, trừu tượng hóa và đơn giản hóa việc chuyển đổi và vận chuyển dữ liệu.
Đối với subscriber, thư viện client cung cấp chức năng có giá trị tương đương. Nó xử lý liền mạch việc deserialization các sự kiện đến, trình bày chúng cho các dịch vụ đăng ký ở định dạng sẵn sàng sử dụng. Tính năng này giúp tiết kiệm thời gian phát triển và giảm rủi ro lỗi phân tích cú pháp, cho phép các nhóm tập trung vào logic nghiệp vụ thay vì các chi tiết phức tạp về xử lý dữ liệu. Bằng cách cung cấp các khả năng toàn diện này, thư viện client của chúng tôi đã trở thành một công cụ không thể thiếu trong mạng lưới hướng sự kiện của chúng tôi, thúc đẩy tính nhất quán, độ tin cậy và hiệu quả trên kiến trúc microservices của chúng tôi.

Thư viện Subscriber Constructs
Chúng tôi đã phát triển thư viện subscriber constructs bằng cách sử dụng AWS Cloud Development Kit (CDK) để đơn giản hóa và tiêu chuẩn hóa quy trình tích hợp với event bus trung tâm của chúng tôi. Thư viện này trừu tượng hóa việc thiết lập và quản lý cơ sở hạ tầng cơ bản cần thiết cho việc tiêu thụ sự kiện, cho phép các nhóm tập trung vào logic nghiệp vụ cốt lõi của họ thay vì các chi tiết cấu hình cơ sở hạ tầng.
Thư viện tự động hóa việc tạo các thành phần thiết yếu cần thiết cho việc xử lý sự kiện đáng tin cậy. Nó cung cấp một event bus chuyên dụng trong tài khoản của subscriber, thiết lập các IAM role và quyền cần thiết để giao tiếp cross-account an toàn với event bus trung tâm, và cấu hình giám sát và cảnh báo được tiêu chuẩn hóa cho việc xử lý sự kiện. Tự động hóa này không chỉ giảm thiểu khả năng xảy ra lỗi cấu hình mà còn tạo điều kiện cho việc triển khai nhất quán các mẫu kiến trúc của chúng tôi trên các nhóm khác nhau.
/** * Subscriber implementation to provision necessary AWS infrastructure. * */const subscription = new Subscription(scope, id, { name: "DeliveryService", // Name of your application application: { region: Region.US_EAST_1, // Region of your Application },});

Kết luận
Hành trình của nhóm Amazon Key nhằm hiện đại hóa kiến trúc và xây dựng một giải pháp hướng sự kiện linh hoạt là một ví dụ điển hình về những lợi ích mạnh mẽ của việc tận dụng AWS EventBridge và áp dụng một kiến trúc hướng sự kiện được thiết kế tốt. Bằng cách giải quyết các thách thức về kết nối dịch vụ, schema sự kiện lỏng lẻo và định tuyến sự kiện không nhất quán, nhóm đã có thể biến hệ thống của họ thành một tài nguyên đáng tin cậy, có khả năng mở rộng và dễ bảo trì hơn. Các mẫu kiến trúc và thành phần chính mà họ đã triển khai đã có tác động đáng kể đến khả năng cung cấp các giải pháp đổi mới cho khách hàng của họ.
Độ tin cậy và Khả năng mở rộng:
- Xây dựng một hệ thống sự kiện tách rời xử lý 2000 sự kiện/giây với tỷ lệ thành công 99,99%
- Đạt được độ trễ p90 nhất quán 80ms từ lúc ingestion đến lúc target invocation trên 14 triệu cuộc gọi subscriber
- Tránh nhu cầu về cơ sở hạ tầng mới để trao đổi sự kiện thông qua định tuyến sự kiện được tiêu chuẩn hóa
- Cho phép di chuyển các phụ thuộc phức tạp hiện có sang kiến trúc hướng sự kiện
Trải nghiệm nhà phát triển:
- Giảm thời gian tích hợp dịch vụ cho các trường hợp sử dụng mới từ năm ngày xuống còn một ngày (cải thiện 80%)
- Việc onboarding sự kiện mới trên kho lưu trữ Custom Event Schema hiện mất bốn giờ, giảm từ 48 giờ
- Tích hợp publisher/subscriber hoàn thành trong tám giờ, trước đây mất 40 giờ
- Thư viện client được tiêu chuẩn hóa đã giải quyết 90% các lỗi tích hợp phổ biến
Bảo mật và Quản trị:
- Một control plane duy nhất quản lý 100% cơ sở hạ tầng event bus
- Kiểm tra tuân thủ bảo mật tự động phát hiện 100% các mẫu trao đổi dữ liệu trái phép
- Dashboard giám sát thời gian thực theo dõi mọi luồng sự kiện và thay đổi schema
- Kho lưu trữ schema cung cấp audit trail hoàn chỉnh cho các sửa đổi hệ thống
Các giải pháp được phát triển bởi nhóm Amazon Key cung cấp một bản thiết kế cho các tổ chức khác đang tìm cách hiện đại hóa kiến trúc của họ và tận dụng sức mạnh của các mẫu thiết kế hướng sự kiện. Bằng cách áp dụng các mẫu kiến trúc và thành phần tương tự, chẳng hạn như kho lưu trữ schema và thư viện client, các tổ chức khác có thể được trao quyền để đạt được những lợi ích tương tự.
Về tác giả

Ali Ufuk Yucel
Ali Ufuk Yucel là một lãnh đạo kỹ thuật cấp cao với hơn 15 năm kinh nghiệm trong phát triển phần mềm và lãnh đạo công nghệ. Hiện tại, ông là Giám đốc Phát triển Phần mềm Cấp cao cho AWS EventBridge, dẫn dắt các sáng kiến chiến lược trong điện toán đám mây và các hệ thống phân tán. Trước đây, ông đã lãnh đạo AWS’s Managed Workflows for Apache Airflow (MWAA). Với nền tảng Kỹ thuật Máy tính và bằng Executive MBA, Ali mang đến sự kết hợp độc đáo giữa chuyên môn kỹ thuật và sự nhạy bén trong kinh doanh cho các vai trò lãnh đạo của mình.

Karan Jaswani
Karan Jaswani là một Nhà phát triển Phần mềm Cấp cao tại Amazon.com, chuyên xây dựng các giải pháp có khả năng mở rộng nhằm nâng cao trải nghiệm khách hàng. Karan đã đóng góp vào pipeline Amazon Retail trong hơn 7 năm và hiện đang làm việc trên Amazon Key, phát triển các giải pháp truy cập an toàn cho nhà và tòa nhà để kích hoạt các dịch vụ như giao hàng. Anh ấy đam mê các API contract, kiến trúc hướng sự kiện và tận dụng các công nghệ này để xây dựng các tương tác người-máy tính đổi mới.

Avinash Kolluri
Avinash Kolluri là Kiến trúc sư Giải pháp Cấp cao tại Amazon Web Services (AWS), nơi ông hỗ trợ Amazon và các công ty con của nó trong việc xây dựng các giải pháp đám mây đổi mới. Với hơn 15 năm kinh nghiệm trong Phát triển Phần mềm và Công nghệ, ông mang đến chuyên môn sâu sắc trong việc kiến trúc các hệ thống có khả năng mở rộng và linh hoạt. Nền tảng rộng lớn của ông bao gồm kiến trúc đám mây, các hệ thống phân tán và thiết kế giải pháp doanh nghiệp. Hiện tại, ông chuyên giúp Amazon tối ưu hóa cơ sở hạ tầng AWS của họ và triển khai các kiến trúc đám mây tốt nhất. Avinash đam mê tận dụng công nghệ để thúc đẩy chuyển đổi kinh doanh và tiếp tục đi đầu trong đổi mới đám mây.

Michael Gasch
Michael Gasch là Giám đốc Sản phẩm Cấp cao tại AWS cho Application Integration với hơn 20 năm kinh nghiệm trong ngành. Trong vai trò của mình, ông làm việc trên các dịch vụ serverless chính của AWS, bao gồm EventBridge, Step Functions và Lambda. Ngoài công việc hàng ngày, ông là người duy trì nhiều dự án open source khác nhau, chẳng hạn như CloudEvents SDK cho Go và Kafka connector cho EventBridge.