|
|
@@ -5,6 +5,7 @@ import (
|
|
5
|
5
|
"errors"
|
|
6
|
6
|
"fmt"
|
|
7
|
7
|
"github.com/facebookgo/inject"
|
|
|
8
|
+ "github.com/fatih/color"
|
|
8
|
9
|
"log"
|
|
9
|
10
|
"net"
|
|
10
|
11
|
"net/rpc"
|
|
|
@@ -151,10 +152,16 @@ func (moscato *Moscato) Receive(msg MsgUnit) (MsgUnit, error) {
|
|
151
|
152
|
newMsg = msg.(RegisterMsg)
|
|
152
|
153
|
|
|
153
|
154
|
newNode := MSNode{newMsg.From, newMsg.From}
|
|
154
|
|
- moscato.MicroServiceManager.AddMicroservice(newNode)
|
|
|
155
|
+ resultAddNode := moscato.MicroServiceManager.AddMicroservice(newNode)
|
|
|
156
|
+ if resultAddNode {
|
|
|
157
|
+ log.Println("node added successful")
|
|
|
158
|
+ } else {
|
|
|
159
|
+ log.Println("node is already added, ignore RM")
|
|
|
160
|
+ }
|
|
155
|
161
|
|
|
156
|
162
|
addr, _ := moscato.MicroServiceManager.GetIpaddr(newMsg.From)
|
|
157
|
163
|
fmt.Println(addr)
|
|
|
164
|
+ go moscato.Send2MS(addr, newMsg)
|
|
158
|
165
|
|
|
159
|
166
|
log.Println("RM received")
|
|
160
|
167
|
|
|
|
@@ -183,12 +190,14 @@ func (moscato *Moscato) Send2MS(ipaddress string, msg MsgUnit) {
|
|
183
|
190
|
JsonMsg: jmsg,
|
|
184
|
191
|
Kind: msg.CheckType(),
|
|
185
|
192
|
}
|
|
186
|
|
- err = client.Call("receiver.MsReceive", args, reply)
|
|
|
193
|
+ err = client.Call("Receiver.Receive", args, reply)
|
|
187
|
194
|
if err != nil {
|
|
188
|
195
|
fmt.Println(err)
|
|
189
|
196
|
return
|
|
190
|
197
|
}
|
|
191
|
|
- fmt.Println(reply.CompleteLog) //잘 받았는지 확인 해줌
|
|
|
198
|
+ //log.Println(reply.CompleteLog) //잘 받았는지 확인 해줌
|
|
|
199
|
+ // 마이크로 서비스에게 받은 메시지는 노란색으로 출력
|
|
|
200
|
+ color.Yellow(reply.CompleteLog)
|
|
192
|
201
|
}
|
|
193
|
202
|
|
|
194
|
203
|
func (moscato *Moscato) Run() {
|