sharded-gotify/api
Colin a4f41768ba
Optimize WebSocket implementation for millions of connections
- Implement sharded client storage (256 shards by default) to eliminate mutex contention
- Replace slice-based storage with map structure for O(1) token lookup
- Increase WebSocket buffer sizes (8192 bytes) and channel buffers (10 messages)
- Optimize Notify method with per-shard locking
- Add configuration options for shard count and buffer sizes
- Add comprehensive benchmarking setup with docker-compose
- Include k6 load testing scripts for WebSocket performance testing
- All existing tests pass with new sharded implementation
2025-11-20 14:43:33 -05:00
..
stream Optimize WebSocket implementation for millions of connections 2025-11-20 14:43:33 -05:00
application.go fix: hide delete overlay for default app images 2025-11-16 11:27:28 +01:00
application_test.go chore: Migrate github.com/jinzhu/gorm to gorm.io/gorm (#863) 2025-10-29 22:23:10 +00:00
client.go fix: update go-swagger 2023-09-16 21:06:54 +02:00
client_test.go Add last used to client & application 2023-08-06 12:30:22 +02:00
errorHandling.go Return 500 server error on database failures (#191) 2019-05-25 08:37:24 +02:00
errorHandling_test.go Return 500 server error on database failures (#191) 2019-05-25 08:37:24 +02:00
health.go fix: update go-swagger 2023-09-16 21:06:54 +02:00
health_test.go Use v2 in package path 2020-05-08 10:43:17 +02:00
internalutil.go Allow delete for > uint32 ids 2020-07-01 19:44:06 +02:00
message.go fix: update go-swagger 2023-09-16 21:06:54 +02:00
message_test.go Add default message priority for applications 2023-07-19 18:15:01 +00:00
plugin.go chore(deps): update bump go dependencies (#751) 2025-01-17 05:51:08 +00:00
plugin_test.go chore(deps): update module gopkg.in/yaml.v2 to v3 (#719) 2024-11-07 17:34:22 -06:00
tokens.go Use v2 in package path 2020-05-08 10:43:17 +02:00
tokens_test.go Use crypto/rand for token generation (#161) 2019-03-16 11:10:28 +01:00
user.go chore: Migrate github.com/jinzhu/gorm to gorm.io/gorm (#863) 2025-10-29 22:23:10 +00:00
user_test.go Add registration 2021-08-04 19:39:43 +02:00