changed balancer

This commit is contained in:
Radu Ioan Fericean
2012-01-28 13:00:43 +02:00
parent af262385aa
commit a257c21fcc
8 changed files with 12 additions and 10 deletions

View File

@@ -12,7 +12,7 @@ var raterList *RaterList
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "<html><body><ol>")
for addr, _ := range raterList.Clients {
for addr, _ := range raterList.clientAddresses {
fmt.Fprint(w, fmt.Sprintf("<li>%s</li>", addr))
}
fmt.Fprint(w, "</ol></body></html>")
@@ -21,7 +21,7 @@ func handler(w http.ResponseWriter, r *http.Request) {
func callRater(key string) (reply string) {
err := errors.New("") //not nil value
for err != nil {
client:= <-raterList.Balancer
client:= raterList.Balance()
err = client.Call("Storage.Get", key, &reply)
if err != nil {
log.Printf("Got en error from rater: %v", err)

View File

@@ -2,8 +2,8 @@ package main
import (
"fmt"
"github.com/fsouza/gokabinet/kc"
"flag"
"github.com/fsouza/gokabinet/kc"
"flag"
)
var (
@@ -11,8 +11,8 @@ var (
)
func main() {
flag.Parse()
db, _ := kc.Open(*fileName, kc.WRITE)
defer db.Close()
db, _ := kc.Open(*fileName, kc.WRITE)
defer db.Close()
db.Set("test", "12223")
fmt.Println("Done!")

View File

@@ -30,7 +30,6 @@ func (s *Storage) Get(args string, reply *string) (err error) {
func main() {
flag.Parse()
getter, err := NewKyotoStorage("storage.kch")
defer getter.Close()
//getter, err := NewRedisStorage("tcp:127.0.0.1:6379")
//defer getter.Close()
if err != nil {
@@ -41,7 +40,7 @@ func main() {
rpc.Register(storage)
rpc.HandleHTTP()
go RegisterToServer(server, listen)
go StopSingnalHandler(server, listen)
go StopSingnalHandler(server, listen, getter)
addr, err1 := net.ResolveTCPAddr("tcp", *listen)
l, err2 := net.ListenTCP("tcp", addr)
if err1 != nil || err2 != nil {

View File

@@ -8,7 +8,7 @@ import (
"syscall"
)
func StopSingnalHandler(server, listen *string) {
func StopSingnalHandler(server, listen *string, getter *KyotoStorage) {
log.Print("Handling stop signals...")
sig := <-signal.Incoming
if usig, ok := sig.(os.UnixSignal); ok {
@@ -16,6 +16,7 @@ func StopSingnalHandler(server, listen *string) {
case syscall.SIGTERM, syscall.SIGINT, syscall.SIGQUIT:
log.Printf("Caught signal %v, unregistering from server\n", usig)
unregisterFromServer(server, listen)
getter.Close()
os.Exit(1)
}
}

View File

@@ -3,6 +3,7 @@ package main
import (
"net/rpc"
"fmt"
//"time"
)
@@ -10,8 +11,9 @@ func main(){
client, _ := rpc.DialHTTPPath("tcp", "localhost:2000", "/rpc")
var reply string
i:= 0
for ; i < 5 * 10e4; i++ {
for ; i < 5 * 10e3; i++ {
client.Call("Responder.Get", "test", &reply)
//time.Sleep(1*time.Second)
}
fmt.Println(i, reply)
}