1.Eureka服务注册发现(心跳检测、健康检查、负载均衡)
(1)Eureka server注册中心:供服务注册的服务器;
(2)Eureka client服务注册:用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。系统中其他微服务使用client 连接到Eureka server,并维持心跳连接,这样就可以监控为服务是否异常。
2.server端简单配置(启动类加相应的注解)
(1)configurations1配置:
eureka:
client:
service-url:
defaultZone: http://localhost:8762/eureka/
#自身注册
register-with-eureka: false
#是否展示下线的客户端,自我保护模式(生产环境一定要设为true)
server:
enable-self-preservation: false
spring:
application:
name: eureka-server
#server:
# port: 8761
configurations2配置:
(2)后端启动Eurekaserver(进入项目)
(1)打成一个war包mvn clean package
(2)查看ja包 ls -al target
(3)设置后台运行
java -jar target/eureka-0.0.1-SNAPSHOT.jar 启动jar包
nohup java -jar target/eureka-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &
(4)查看进程:s -ef |grep eureka
(5)杀死该进程:kill 37110
3.client配置
//添加web依赖,否则无法进行心跳
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
# instance:
# hostname: clientname
spring:
application:
name: eureka-client
二、Eureka server高可用扩展(将3个eureka互相调用)
1.一个项目中,配置三个configurations,实现启动3个Eureka。通过端口区分
-Dserver.port=8761,-Dserver.port=8762,-Dserver.port=8763
2.Eureka1
eureka:
client:
service-url:
defaultZone: http://localhost:8762/eureka/,http://localhost:8763/eureka/
#自身注册
register-with-eureka: false
#是否展示下线的客户端,自我保护模式(生产环境一定要设为true)
server:
enable-self-preservation: false
spring:
application:
name: eureka-server
#server:
# port: 8761
3.Eureka2(1,3)
4.Eureka3(1,2)
三、分布式系统为什么需要服务发现?服务注册中心的重要性?
1.注册中心,B服务启动时就注册到注册中心。
2.A如何向注册中心拿到服务?
(1)客户端发现: Eureka,通过负载均衡机制(轮询、哈希、随机)选出一个服务,通过ip地址找到B,由A发起;
(2)服务端发现: nginx(http反向代理服务器、服务发现负载均衡服务器)、zookeeper
四、微服务特点
1.微服务特点:异构,各个服务之间可以用不同的语言实现,可以根据需要选择不同的数据库。
(1)用node.js实现Eureka客户端,注册到Eureka server上;
(2)nginx、zookeeper实现注册到Server上。
2.springcloud微服务调用方式?
RPC还是Rest(轻量级通信)