Resource Event Source for Notification Based External Events
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách đọc các triển khai hiện có của CachingInboundEventSource, PollingEventSource và PerResourcePollingEventSource để hiểu hành vi sự kiện và bộ nhớ đệm của chúng. Công việc hoàn tất khi một thông báo đến không có tài nguyên sẽ tìm nạp và lưu vào bộ nhớ đệm toàn bộ tài nguyên bên ngoài, sau đó truyền một sự kiện thay đổi đến trình xử lý sự kiện.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
For Kubernetes resources we already have this cache in Informer, for external resources we have the CachingInboundEventSource for a resource oriented event coming from an external system. And two flavors of polling event source: PollingEventSource and PerResourcePollingEventSource.
What we don't have covered is the situation for an external resource when it is capable to notify about change, but the notification not contains the resource it self. Typically such external events are comming from AWS resources, like from RDS:
see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-cloudwatch-events.sample.html
A sample event does not contains the resource itself.
( see also: Event Notification https://martinfowler.com/articles/201701-event-driven.html )
We have two options here either the dependent resource fetches the resource on reconcile and puts it into local cache. Or we prepare an even source that when receives an inbound event also fetches and caches the resource (then triggers and event).
This would be much more optimal, since we just don't fetch resource on every reconcile. So the event source logic should look like this:
sequenceDiagram
participant InboundFetchingEventSource
participant ExternalService
participant EventHandler
ExternalService->>InboundFetchingEventSource: Send Resource Changed Event
InboundFetchingEventSource->>ExternalService: Fetch The Whole Resource
InboundFetchingEventSource->>InboundFetchingEventSource: Cache The Resource
InboundFetchingEventSource->>EventHandler: Propagate Event About The Change
- Ngôn ngữ chính
- Java
- Star
- 944
- Fork
- 242
- Merge trung bình
- 1 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 43
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của operator-framework/java-operator-sdk
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
operator-framework/java-operator-sdk#3621 · 5 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
operator-framework/java-operator-sdk#3617 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
operator-framework/java-operator-sdk#3615 · 1 bình luận · 3 reaction ·
-
Set baseline Java version to 21 Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
operator-framework/java-operator-sdk#3568 · 1 bình luận · 1 reaction ·
Tất cả issue của operator-framework/java-operator-sdk
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
bug needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 94/100
objectionary/hone-maven-plugin#1061 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
spring-projects/spring-modulith#1895 ·