这是一个简单粗暴的学习纪录篇幅,没有理论,撸起袖子就是干
一、创建一个springCloud项目
如果.....你的pom.xml图标不是蓝色的M,右键,往下看看,找到add xxx as maven
二、配置文件
项目就这么创建,其它啥也不用动,把自动生成的配置文件后缀名改为yml,将以下内容复
制进去(将原有配置删除哦)
先去主方法上添加注解:
@EnableEurekaServer //开启eureka服务器
server:
port: 7001 #访问端口号
spring:
application:
name: eureka01 #服务名称
eureka:
client:
register-with-eureka: false #不向注册中心注册自己
fetch-registry: false
service-url:
defaultZone: http://localhost:7001/eureka/ #向这个服务器上注册自己
这个页面出现,就代表着成功!给自己鼓个掌,然后继续。
三、集群之间建立关系
首先把刚刚的项目复制两份改改名字和pom.xml里的然后在配置文件里,修改 defaultZone后面的地址里的端口号,也就是向以下注册中心注册自己,然后添加instance配置,表示当服务宕机之后在固定时间里移除该服务,下面给个例子
server:
port: 7003 #修改端口号
spring:
application:
name: eureka03 #修改服务名
eureka:
client:
# register-with-eureka: false #不向注册中心注册自己,不注释的话下两行的配置不生效
# fetch-registry: false
service-url:
defaultZone: http://localhost:7002/eureka/,http://localhost:7001/eureka/
instance:
hostname: eureka-7003 #映射主机名,当前没用到它
prefer-ip-address: false
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 5
instance-id: ${eureka.instance.hostname}:${server.port}
四、添加用户认证
就是一个登录功能的实现
1.先添加pom依赖
2.在主方法类上添加一个方法
3.在配置文件里添加用户信息
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
@EnableWebSecurity
static class WebSecurityConfig extends WebSecurityConfigurerAdapter{
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
super.configure(http);
}
}
server:
port: 7001
spring:
application:
name: eureka01
security: #配置认证
user:
name: root
password: root
eureka:
client:
service-url:
#因为02加了认证03没加,注册时候需要告诉链接用户名和密码,写法如下
defaultZone: http://root:root@localhost:7002/eureka/,http://localhost:7003/eureka/
instance:
hostname: eureka-7001 #当前没用到它
prefer-ip-address: false
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 5
instance-id: ${eureka.instance.hostname}:${server.port}
讲道理这可比自己写的登录界面好看多了,还方便省事儿,下次有这好事早点告诉我,我马不停蹄的学!!!
话说把注释的两行配置去掉,比如01注释,02、03不注释,自己摸索一下就明白是什么功能了b( ̄▽ ̄)d
五、配置主机名映射关系
验证一下有没有映射成功
六、服务提供者和服务消费者(再创建俩服务)
创建两个model,添加以下依赖,yml配置也放在下面,提供者端口号8001,消费者9001
server:
port: 9001
spring:
application:
name: consumer01
eureka:
client:
service-url:
defaultZone: http://root:root@eureka-7001:7001/eureka,http://root:root@eureka-7002:7002/eureka,http://eureka-7003:7003/eureka