前言
终于把所有的事都搞的差不多了,现在终于闲下来可以更博客了,老早之前就把springcloud给搞完了,一直没时间更它,我把它记在这里,希望不会忘记。
开搞
注册中心涉及三大角色:服务提供者,服务消费者,注册中心。他们的关系如下:
各个微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据
服务消费方从注册中心查询服务提供方者的地址,并通过该地址调用服务提供方的接口
各个微服务与注册中心使用一定机制(例如心跳)进行通信。如果注册中心与某个微服务长时间无法通信,就会注销该服务
微服务网络地址发送发生变化(例如实例增加或IP变动)时,会重新注册进注册中心,这样,服务消费者就无需人工修改提供者的网络地址了。
这些都是白嫖的1.先用idea创建一个父springboot项目(咱们默认都用的是maven创建的项目,因为用脚手架还要改东西,我这里就不创建了),要用一个父依赖和springcloud的版本控制
2.在父springboot项目中再创建一个springboot项目,叫注册中心(叫啥都行,名字而已)
3.添加依赖(这里由于依赖了父工程的版本,因此就不需要再添加父工程依赖了)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
4.修改application.yml
server:
port: 9000 #端口名随便叫,只要和主机中现有的端口不冲突就行
spring:
application:
name: eureka #微服务名,随便起,只要不耽误自己记就行
eureka:
instance:
hostname: eureka #相当于127.0.0.1
client:
fetch-registry: false #是否从eureka中获取注册信息
register-with-eureka: false #是否将自己注册进eureka,本身就在,无需注册
service-url: #下面两个都可以,都是指定注册中心的位置的
# defaultZone: http://127.0.0.1:${server.port}/eureka/
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
5.改写启动类
@SpringBootApplication
@EnableEurekaServer//启动eureka的服务端
public class RegisterApplication {
public static void main(String[] args) {
SpringApplication.run(RegisterApplication.class);
}
}
6.在和注册中心同级的目录下再创建一个springboot项目,就是一个小小的微服务,创建方法和注册中心一模一样
7.添加客户端的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
8.修改application.yml
eureka:
instance:
prefer-ip-address: true #如果设置eureka.instance.prefer-ip-address为false时,那么注册到Eureka中的Ip地址就是本机的Ip地址; 如果设置了true并且也设置了eureka.instance.ip-address=ipValue那么就将此ipValue注册到Eureka中
client:
service-url:
defaultZone: http://127.0.0.1:9000/eureka/
9.修改启动类
@SpringBootApplication
@EnableEurekaClient//eureka的客户端注解
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class);
}
}
使用 localhost:9000访问
image.png
网友评论