spring cloud - 服务发现

spring cloud 服务发现

  1. Eureka的高可用

(1).添加主机名

127.0.0.1 peer1 peer2

(2).修改application.yml

---
spring:
  profiles: peer1                                 # 指定profile=peer1
server:
  port: 8761
eureka:
  instance:
    hostname: peer1                               # 指定当profile=peer1时,主机名
  client:
    serviceUrl:
      defaultZone: http://peer2:8762/eureka/      # 将自己注册到peer2这个Eureka上面去

---
spring:
  profiles: peer2
server:
  port: 8762
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/

(3).分别启动两个Eureka应用

java -jar microservice-discovery-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar microservice-discovery-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

(4).访问注册中心

// 访问http://peer1:8761 ,我们会发现registered-replicas 中已经有peer2 节点了,同样地,访问http://peer2:8762 ,也能发现其中的registered-replicas 有peer1 节点

(5).将服务注册到高可用的Eureka

eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka

(6).描述来源于:http://book.itmuch.com/2%20Spring%20Cloud/2.1.2%20Eureka%E7%9A%84%E9%AB%98%E5%8F%AF%E7%94%A8.html

  1. Consul的高可用

(1).Consul常用命令

// 运行一个consul agent

$ consul agent -dev

// 将agent加入到consul集群

$ consul join IP

// 列出consul cluster集群中的members

$ consul members

// 将节点移除所在集群

$ consul leave

// 使用-client 参数可指定允许客户端使用什么ip去访问

$ consul agent -dev -client 192.168.11.143

// 发现果然可以使用http://192.168.11.143:8500/ui 访问了

(2).搭建Consul集群

// 启动node0机器上的Consul(node0机器上执行)

$ consul agent -data-dir /tmp/node0 -node=node0 -bind=192.168.11.143 -datacenter=dc1 -ui -client=192.168.11.143 -server -bootstrap-expect 1

// 启动node1机器上的Consul(node1机器上执行)

$ consul agent -data-dir /tmp/node1 -node=node1 -bind=192.168.11.144 -datacenter=dc1 -ui

// 启动node2机器上的Consul(node2机器上执行)

$ consul agent -data-dir /tmp/node2 -node=node2 -bind=192.168.11.145 -datacenter=dc1 -ui -client=192.168.11.145

// 将node1节点加入到node0上(node1机器上执行)

$ consul join 192.168.11.143

// 将node2节点加入到node0上(node2机器上执行)

$ consul join -rpc-addr=192.168.11.145:8400  192.168.11.143

// 这样一个简单的Consul集群就搭建完成了,在node1上查看当前集群节点

$ consul members -rpc-addr=192.168.11.143:8400

(3).访问Consul集群

// 我们可以通过:http://192.168.11.143:8500/ui/ 或者http://192.168.11.145:8500/ui/进行访问,也可以在node1机器上通过http://127.0.0.1:8500/ui/ 进行访问,原因是node1没有开启远程访问 ,三种访问方式结果是一致的

(4).描述来源于:http://book.itmuch.com/2%20Spring%20Cloud/2.1.6%20Consul%E9%AB%98%E5%8F%AF%E7%94%A8.html

发布了68 篇原创文章 · 获赞 119 · 访问量 25万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章