Introduce several performance and synchronization enhancements: - Implement `SeqBufferManager` to allow sequence number pre-allocation via Redis Lua scripts, reducing atomic increment overhead. - Add `PushWorker` to handle asynchronous message pushing using Redis Streams. - Implement incremental conversation synchronization via `ConversationVersionLog` to allow clients to fetch only recent changes. - Add support for Gzip compression in WebSocket communications to reduce bandwidth usage. - Update dependency injection and configuration to support these new components.
9 lines
318 B
Go
9 lines
318 B
Go
package config
|
|
|
|
// VersionLogConfig 版本日志增量同步配置
|
|
type VersionLogConfig struct {
|
|
Enabled bool `mapstructure:"enabled"`
|
|
SyncLimit int `mapstructure:"sync_limit"` // 单次同步最大返回条数
|
|
MaxSyncGap int64 `mapstructure:"max_sync_gap"` // 超过此版本差距建议全量同步
|
|
}
|