尚硅谷springcloud2020day2(p12-23)

今天是2020-12-04
今天是学习springcloud的第二天,昨天学完忘了写博客记录了,有点尴尬,今天就补上两天的吧
由于在学校已有一定的基础,文章里可能就不会写过多的代码了,更多的是记录对知识的理解
(1)首先学习了eureka,eureka其实分为两种:
一。eureka注册中心
eureka注册中心提供对服务的管理功能,服务的提供者向注册中心注册服务:其实可以说是键值对的形式,键就是服务的别名,值就是自己的调用地址,服务的消费者从注册中心拉取服务列表存储在jvm本地内存,根据服务的别名访问–调用对应的服务
要构建单注册中心项目,你需要
1.pom文件引入spring-cloud-starter-netflix-eureka-server
2.application.yml中配置:
server:
port: 7001

eureka:
instance:
hostname: localhost7001 #eureka服务端实例名称
client:
register-with-eureka: false #表示不像注册中心注册自己
fetch-registry: false #false表示自己就是注册中心,我的职责就是维护服务实例,并不区检索服务
service-url:
defaultZone: http://localhost:7001/eureka
3.启动类标注注解@EnableEurekaServer
二。eureka客户端
eureka的客户端有两个功能:服务提供和服务消费,这两个功能可以同时存在,即既可以提供服务同时也可以调用服务
想要开启服务的提供功能,你需要:
1.pom文件引入spring-cloud-starter-netflix-eureka-client
2.application.yml中:
spring:
application:
name: cloud-payment-service
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:7001/eureka
3.启动类上标注@EnableEurekaClient
服务的消费功能今天还没学,就留到后面的文章

(2) 接着学习了eureka集群,其实应该叫eureka注册中心集群,注册中心之间相互注册,可以共享已注册的服务信息。其他的注册中心pom文件引入的依赖还是一样的,启动类也是一样,要改动的是application.yml,比如1号注册中心:
server:
port: 7002
eureka:
instance:
hostname: localhost7002 #eureka服务端实例名称
client:
register-with-eureka: false #表示不像注册中心注册自己
fetch-registry: false #false表示自己就是注册中心,我的职责就是维护服务实例,并不区检索服务
service-url:
defaultZone: http://localhost:7001/eureka
spring:
application:
name: localhost7002
2号注册中心:
server:
port: 7001

eureka:
instance:
hostname: localhost7001 #eureka服务端实例名称
client:
register-with-eureka: false #表示不像注册中心注册自己
fetch-registry: false #false表示自己就是注册中心,我的职责就是维护服务实例,并不区检索服务
service-url:
defaultZone: http://localhost:7002/eureka
spring:
application:
name: localhost7001
我们可以看到的是,每个注册中心都加了applicationname和改动了hostname做区分,同时defaultZone是写其他注册中心的url,defaultZone支持写多个地址,地址之间以逗号分隔即可
(3)接着学习了服务提供者的集群,服务提供者在集群时,多台服务器上部署的都是同样的服务,这样就可以分担流量,防止单节点时请求过多导致节点故障后服务不能正常提供,但是部署到多台服务器后,cloud不知道调用哪一台服务器上的服务,所以服务的调用者需要使用ribbon负载均衡功能来动态的选择调用其中某一台服务器的服务,没有集成feign之前需要在注册resttemplate的方法上加@loadbalanced,集成feign之后feign默认实现了负载均衡功能,关于feign集成负载均衡就在后面的文章里详解吧
关于服务提供者的一些有用的配置,application.yml中:
1. #配置服务的实例名称
instance:
instance-id: payment8001
2. #使访问路径可以显示ip地址
prefer-ip-address: true

今天的学习到此结束了,也算是在不断查漏补缺,学校的课上果然还有很多没有理解导致没有深刻记忆的东西,希望自己能继续加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值