Skip to content

Commit

Permalink
refactor code
Browse files Browse the repository at this point in the history
  • Loading branch information
toontong committed Aug 21, 2014
1 parent b6f4dcc commit 57c1503
Showing 5 changed files with 26 additions and 27 deletions.
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -197,14 +197,19 @@ Empty set
## Range Sharding Example

```
range rule:
- db: mixer
table: mixer_test_shard_range
key: id
range:
nodes: node2, node3
range: -10000-
type: range
schemas :
-
db : mixer
nodes: [node1, node2, node3]
rules:
default: node1
shard:
-
table: mixer_test_shard_range
key: id
nodes: [node2, node3]
range: -10000-
type: range
range algorithm: node key start <= value < node key stop
2 changes: 1 addition & 1 deletion client/db.go
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@ func (db *DB) Addr() string {
return db.addr
}

func (db *DB) ConfigString() string {
func (db *DB) String() string {
return fmt.Sprintf("%s:%s@%s/%s?maxIdleConns=%v",
db.user, db.password, db.addr, db.db, db.maxIdleConns)
}
12 changes: 6 additions & 6 deletions cmd/mixer-proxy/main.go
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ import (
"syscall"
)

var configFile = flag.String("config", "/etc/mixer.conf", "mixer proxy config file")
var configFile *string = flag.String("config", "/etc/mixer.conf", "mixer proxy config file")
var logLevel *string = flag.String("log-level", "", "log level [debug|info|warn|error], default error")

func main() {
@@ -21,13 +21,13 @@ func main() {
flag.Parse()

if len(*configFile) == 0 {
println("must use a config file")
log.Error("must use a config file")
return
}

cfg, err := config.ParseConfigFile(*configFile)
if err != nil {
println(err.Error())
log.Error(err.Error())
return
}

@@ -40,7 +40,7 @@ func main() {
var svr *proxy.Server
svr, err = proxy.NewServer(cfg)
if err != nil {
println(err.Error())
log.Error(err.Error())
return
}

@@ -52,8 +52,8 @@ func main() {
syscall.SIGQUIT)

go func() {
<-sc

sig := <-sc
log.Info("Got signal [%d] to exit.", sig)
svr.Close()
}()

14 changes: 6 additions & 8 deletions proxy/conn_show.go
Original file line number Diff line number Diff line change
@@ -129,14 +129,14 @@ func (c *Conn) handleShowProxyConfig() (*Resultset, error) {
var nodeSection = fmt.Sprintf("Schemas[%s]-Node[ %v ]", db, name)

if node.master != nil {
nodeRows = append(nodeRows, []string{nodeSection, "Master", node.master.ConfigString()})
nodeRows = append(nodeRows, []string{nodeSection, "Master", node.master.String()})
}
if node.masterBackup != nil {
nodeRows = append(nodeRows, []string{nodeSection, "Master_Backup", node.masterBackup.ConfigString()})
nodeRows = append(nodeRows, []string{nodeSection, "Master_Backup", node.masterBackup.String()})
}

if node.slave != nil {
nodeRows = append(nodeRows, []string{nodeSection, "Slave", node.slave.ConfigString()})
nodeRows = append(nodeRows, []string{nodeSection, "Slave", node.slave.String()})
}
nodeRows = append(nodeRows, []string{nodeSection, "Last_Master_Ping", fmt.Sprintf("%v", time.Unix(node.lastMasterPing, 0))})

@@ -151,19 +151,17 @@ func (c *Conn) handleShowProxyConfig() (*Resultset, error) {
if defaultRule.DB == db {
if defaultRule.DB == db {
rows = append(rows, []string{fmt.Sprintf("Schemas[%s]_Rule_Default", db),
"Default_Table", defaultRule.ConfigString()})
"Default_Table", defaultRule.String()})
}
}
for tb, r := range schema.rule.Rules {
if r.DB == db {
rows = append(rows, []string{fmt.Sprintf("Schemas[%s]_Rule_Table", db),
fmt.Sprintf("Table[ %s ]", tb), r.ConfigString()})
fmt.Sprintf("Table[ %s ]", tb), r.String()})
}
}

for i := range nodeRows {
rows = append(rows, nodeRows[i])
}
rows = append(rows, nodeRows...)

}

4 changes: 0 additions & 4 deletions router/router.go
Original file line number Diff line number Diff line change
@@ -27,10 +27,6 @@ func (r *Rule) FindNodeIndex(key interface{}) int {
}

func (r *Rule) String() string {
return fmt.Sprintf("%s.%s?key=%v&shard=%s", r.DB, r.Table, r.Key, r.Type)
}

func (r *Rule) ConfigString() string {
return fmt.Sprintf("%s.%s?key=%v&shard=%s&nodes=%s",
r.DB, r.Table, r.Key, r.Type, strings.Join(r.Nodes, ", "))
}

0 comments on commit 57c1503

Please sign in to comment.