文件名称:medis:mysql 集群作为 redis 节点工作
文件大小:461KB
文件格式:ZIP
更新时间:2024-06-30 13:15:03
Go
medis mysql cluster work as a redis node 架构图 group层是虚拟的,是一组读写分离的mysql数据源 key会hash到某一个gourp在这个group上做读写 扩容期间,会自动在多个group上做双写 按照目前的架构,写瓶颈通过扩容group解决,读瓶颈通过扩容group中用于读的mysql从库解决 启动 go run medis.go 启动代码中的group的配置需要说明一下 // 创建主从关系 group0 := datasource.NewGroup("group0") // 0 1 0 1 代表的是 读权重是0,写权重是1,不可读,写优先级是1 group0.AddClient(datasource.NewClientWeightWrapper("group0_master_0", master0, 0, 1, 0, 1)) group
【文件预览】:
medis-master
----admin()
--------server.go(3KB)
----logger()
--------logger.go(243B)
----proxy()
--------handler.go(5KB)
--------decoder.go(1KB)
--------redis.go(491B)
--------redis_test.go(120B)
----shard()
--------selector.go(2KB)
----mysql()
--------client.go(1KB)
--------client_test.go(214B)
----medis.png(447KB)
----replication()
--------client.go(1KB)
--------client_test.go(245B)
----README.md(2KB)
----adapter()
--------list_test.go(836B)
--------db.go(3KB)
--------list.go(3KB)
--------string_test.go(827B)
--------string.go(2KB)
--------zset.go(4KB)
--------hash.go(2KB)
--------zset_test.go(16B)
--------hash_test.go(734B)
----datasource()
--------group.go(2KB)
--------group_test.go(752B)
--------weight.go(291B)
--------client_ priority_list.go(2KB)
--------client_wight.go(744B)
----rdb()
--------decoder.go(18KB)
--------nop_decoder.go(1KB)
--------slice_buffer.go(1KB)
--------crc64()
--------README.md(51B)
--------encoder.go(3KB)
----medis.go(2KB)
----definition()
--------define.go(101B)