-
Notifications
You must be signed in to change notification settings - Fork 10.2k
feat(distributed): 分布式部署与性能优化 #7372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Added DistributedEvent class to represent events for cross-instance notifications. - Created OutboxEvent and OutboxEventRepository for storing and managing outbox events. - Implemented OutboxService to handle saving and processing of outbox events. - Developed OutboxProcessor to periodically publish unprocessed events to Redis Stream. - Enhanced RedisStreamEventPublisher to publish DistributedEvents. - Introduced RedisStreamManager for managing Redis Stream configurations and maintenance. - Updated PostServiceImpl to save events to the outbox instead of directly publishing. - Added FullDataChecksumTask for periodic data integrity checks across instances. - Updated application.yaml with new configuration properties for outbox processing. - Created schema-h2-outbox.sql for outbox_events table and integrated it into schema-h2.sql.
…ding message count fix: Refactor FullDataChecksumTask to improve logging and use updated method for resource version
…t; refactor FullDataChecksumTask to return Mono.empty() and enhance IndexEndpoint with direct query parameter extraction
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
JohnNiang
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @StevenChen16 , thank you for contribution!
针对分布式部署这种相对比较大的功能,建议先提交 Issue 并在社区进行充分讨论之后再进行实现。
非常抱歉我们无法 Review 并合并当前 PR。
|
感谢 @StevenChen16 的参与,但如 #7372 (review) 所述,通常 Halo 在进行较大特性的开发前,都需要经过 RFC 或者 issue 讨论实现方式,比如我们开发缩略图的完整过程:
所以此 PR 可能暂时不会合并。 |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |




/kind feature
What this PR does / why we need it:
本PR实现了Halo的完整分布式部署功能,使系统能够在多实例环境中高效可靠地运行。这一功能从零开始构建,包含了所有必要组件和优化措施,具体包括:
核心分布式架构:
可靠消息传递:
分布式缓存同步:
系统可观测性:
性能优化:
这一功能使Halo突破了单实例部署的限制,能够满足大规模企业应用的需求,支持水平扩展和高可用部署,同时保持了系统的一致性和可靠性。
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
halo.distributed.enabled=true配置激活,默认为禁用状态。Does this PR introduce a user-facing change?