springcloud 之 服务注册中心
一、Eureka(netflix开发的)
A. 开发 服务端 server
1.创建项目 并 引入依赖
<!--引入 eureka server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2.编写配置文件 application.properties
server.port=8888 # 指定服务端口
spring.application.name=eurekaserver # 指定eureka服务名称 | 唯一标识
eureka.client.service-url.defaultZone=http://localhost:8888/eureka # 暴露服务中心地址
eureka.client.register-with-eureka=false #关闭自己注册自己
eureka.client.fetch-registry=false #关闭 启动时把自己作为客户端立即注册,初始化好了在注册
3.入口类加入注解
@SpringBootApplication
@EnableEurekaServer
public class EurekaserverApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
}
}
4.浏览器访问eureka的服务注册页面
http://localhost:8888/eureka
B.开发 客户端 client
1.创建项目 并 引入依赖
<!--引入eureka client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2.编写配置文件 application.properties
server.port=9999 #服务端口号
spring.application.name=eurekaclient #服务名称唯一标识
eureka.client.service-url.defaultZone=http://localhost:8761/eureka #eureka注册中心地址
3.入口类加入注解
@SpringBootApplication
@EnableEurekaClient
public class EurekaserverApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
}
}
C.浏览器端server查看客户端是否注册成功
----------------------------------------------------------------------------------------------------------------------------------------------------
二、Consul(Golang语言实现的)
A. 服务端 server 的安装
1.服务端是官方提供的 软件 自行安装
2.consul默认服务端口是8500
3.浏览器访问:http://localhost:8500
B.开发客户端 client
1.创建项目 并 引入依赖
<!--引入 server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2.编写配置文件 application.properties
server.port=9999 #指定当前客户端的端口号
spring.application.name=consulclient #这是当前客户端服务的名称
spring.cloud.consul.host=localhost / 192.168.0.XXX #注册consul服务的主机(注册到哪里)
spring.cloud.consul.port=8500 #注册consul服务的端口号
spring.cloud.consul.discovery.register-health-check=false #关闭consu了服务的健康检查[不推荐关闭]
spring.cloud.consul.discovery.service-name=${spring.application.name} #指定注册的服务名称 默认就是应用名
C.浏览器端server查看客户端是否注册成功
D.开启健康检查
<!-- 健康度监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
说明:默认情况加consul监控健康是开启的,但是必须依赖健康监控依赖才能正确监控健康状态所以直接启动会显示错误,引入健康监控依赖之后服务正常
----------------------------------------------------------------------------------------------------------------------------------------------------
三、Zookeeper(java)
A. 服务端 server 的安装
1.服务端是官方提供的 软件 自行安装
2.consul默认服务端口是8500
3.浏览器访问:http://localhost:8500
B.开发 客户端 client
1.创建项目 并 引入依赖
#8004表示注册到zookeeper服务器的支付服务提供者端口号
server.port: 8004
#服务别名----注册zookeeper到注册中心名称
spring.application.name: cloud-provider-payment
spring.cloud.zookeeper.connect-string: 192.168.159.33:2181
其他 内容后补充
----------------------------------------------------------------------------------------------------------------------------------------------------
四、Nacos(java)
A. 服务端 server 的安装
1.服务端是官方提供的 软件 自行安装
2.nacos默认服务端口是8848
3.浏览器访问:http://localhost:8848/nacos
4.登录nacos的 用户名、密码 都是nacos
B.开发客户端 client
1.创建项目 并 引入依赖
<!--引入nacos client的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.编写配置文件 application.properties
server.port=8789 #指定当前服务端口
spring.application.name=nacosclient #指定服务的名称
spring.cloud.nacos.server-addr=localhost:8848 / 192.168.0.XXX #指定nacos服务地址
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr} #指定注册中心地址
management.endpoints.web.exposure.include=* #暴露所有web端点
3.入口类加入注解
@SpringBootApplication
@EnableEurekaClient
public class EurekaserverApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
}
}
C.浏览器端server查看客户端是否注册成功