| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package modules
-
- //각 Microservice에 대한 정보 저장 노드
- type MSnode struct {
- nodeName string
- ipAddr string
- }
-
- func (node *MSnode) Getname() string {
- return node.nodeName
- }
- func (node *MSnode) Getipaddr() string {
- return node.ipAddr
- }
-
- //모든 Microservice정보 저장
- type MStable struct {
- NodeTable map[string]MSnode
- }
-
- func (manager *MStable) getIpaddr(nodename string) (string, bool) {
- //해당 이름의 노드이름이 존재하는지 확인
- node, exists := manager.NodeTable[nodename]
-
- //존재하지 않는 경우 nil리턴
- if !exists {
- return "", false
- } else {
- return node.ipAddr, true
- }
- }
-
- func (manager *MStable) add_microservice(node MSnode) bool {
- //삽입 전 존재여부 확인
- _, exists := manager.NodeTable[node.Getname()]
-
- if exists {
- return false
- } else {
- manager.NodeTable[node.Getname()] = node
- return true
- }
- }
-
- func (manager *MStable) remove_microservice(nodename string) bool {
- //삭제 전 존재여부 확인
- _, exists := manager.NodeTable[nodename]
-
- if exists {
- delete(manager.NodeTable, nodename)
- return true
- } else {
- return false
- }
- }
|