Releases: olric-data/olric
v0.5.0-alpha.3
Here is the third alpha of v0.5.x tree. It includes many improvements including:
- Initial implementation of cluster events. Now users can observe the cluster state by subscribing to
cluster.eventschannel. Olric sends events in JSON format. Sample fromredis-cli:
1) "message"
2) "cluster.events"
3) "{\"timestamp\":1648410047096938000,\"source\":\"127.0.0.1:3320\",\"kind\":\"node-left-event\",\"node_left\":\"127.0.0.1:3321\"}"
1) "message"
2) "cluster.events"
3) "{\"timestamp\":1648410056207893000,\"source\":\"127.0.0.1:3320\",\"kind\":\"node-join-event\",\"node_join\":\"127.0.0.1:3321\"}"
1) "message"
2) "cluster.events"
3) "{\"timestamp\":1648410056107344000,\"source\":\"127.0.0.1:3321\",\"kind\":\"node-join-event\",\"node_join\":\"127.0.0.1:3320\"}"
Available events:
- node-join-event
- node-left-event
- fragment-migration-event
- fragment-received-event
It's not fully documented yet. See events/cluster_events.go file to get more information about the feature.
Install with the following command:
go get github.com/buraksezer/[email protected]
v0.5.0-alpha.2
Here is the second alpha of v0.5.x tree. It includes many improvements including:
- Integration tests for many packages, especially protocol.
- Distribute client requests in a round-robin fashion.
Install with the following command:
go get github.com/buraksezer/[email protected]
v0.5.0-alpha.1
Here is the first alpha of v0.5.x tree. It includes many improvements including:
- A new version of Olric API is available. Now Olric has a
Clientinterface and two implementations of it:ClusterClientandEmbeddedClient - In-house binary protocol was removed. Olric now uses RESP(Redis Protocol) for communication. Any Redis client can be used to access an Olric cluster.
- Default storage engine is hugely improved. Its compaction behavior is changed. It's now more memory efficient and fast.
- The old client implementation has been removed. You can use
ClusterClientnow as a non-member client. olric-cliandolric-benchmarkwere removed.redis-cliandmemtier_benchmarkcan be used instead of those tools.
The new API can be inconsistent for now. During the next months, those inconsistencies will be fixed gradually.
Install with the following command:
go get github.com/buraksezer/[email protected]
v0.4.3
v0.4.2
This release includes the following fixes and improvements:
- bug: dead loop while expand kvstore #137
Thank you @ShawnHsiung for providing a PR to fix that problem.
v0.4.1
v0.4.0
What is Olric?
Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.
With Olric, you can instantly create a fast, scalable, shared pool of RAM across a cluster of computers.
Install
Learn how to install Olric and see Sample Code to get started!
Support
Join our Discord server!
Changes
This release includes the following fixes and improvements:
- Validate the configuration before running an Olric node #68
- Design an interface for different storage engine implementations #46
- Move data structure implementations to their own packages #70
- Add configuration directives for dead member tracker #101
- fatal error: concurrent map writes #105
- Potential race condition in fragment creation #99
- Read repair feature doesn't work properly #97
- Consistency only works with two members... #92
- Collect more metrics about the current state of a node #87
- Data race in various tests #85
- panic when set replica count and async replica #93
- unknown field 'Addrs' in struct literal of type client.Config #110
- Custom logger doesn't work due to usage of c.Logger.SetOutput #117
- Single member stats for existing metrics collector #82
v0.3.12
v0.4.0-rc.1
This release includes the following fixes and improvements:
- Improvements in
olric-cliand documentation.
v0.3.11
This release includes the following fixes and improvements:
- Update misleading parts of the Golang client configuration.