spring cloud总结
SpringCloud
spring cloud是一套实现微服务架构的框架.先来认识一下里面的几个组件
eureka
注册中心,需要对外提供服务的服务和需要调用其它服务的服务都要把自己注册到eureka上面去.注册后访问eureka的管理页面如下图

使用eureka的简单步骤如下:
1.导依赖,注意这里依赖一定要是带starter的那个,我总是搞错,这里导的是服务端的依赖,只有eureka服务需要导这个,其它的导client就好.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
3.在yml中配置eureka地址.
server:
port: 10086
spring:
application:
name: eureka-server # 应用名称,会在Eureka中作为服务的id标识(serviceId)
eureka:
client:
service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要写其它Server的地址。
defaultZone: http://127.0.0.1:10086/eureka
register-with-eureka: false # 不注册自己
fetch-registry: false #不拉取服务
1.导依赖,一定要是带starter的,否则启动会报错,这里导的是client客户端
<!-- Eureka客户端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
2.配置eureka
# ...略
spring:
application:
name: user-service #这就是在注册中心显示的名字
eureka:
client:
service-url: # EurekaServer地址
defaultZone: http://127.0.0.1:10086/eureka/
eureka细节
这个排序不分先后,我是想起谁写谁.
eureka:
instance:
ip-address: 127.0.0.1 # ip地址
prefer-ip-address: true # 更倾向于使用ip,而不是host名
instance-id: ${eureka.instance.ip-address}:${server.port} # 自定义实例的id
3.eureka也可以集群,并且各eureka之间会相互注册,把注册在自己这里的服务同步给集群中的每个节点,保证自己挂了,注册在自己上面的服务不会丢失.当有eureka集群时,服务在注册自己时会先找写在第一个的eureka地址,注册不上去再找第二个.那配置就得改成这样.
defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka
eureka:
instance:
lease-expiration-duration-in-seconds: 90
lease-renewal-interval-in-seconds: 30
eureka.server.eviction-interval-timer-in-ms
eureka:
server:
enable-self-preservation: false # 关闭自我保护模式(缺省为打开)
6.服务的拉取也是每30s拉取一次.缓存在本地.所以就是eureka挂了,也能访问其它服务,因为本地有其它服务的地址,当然如果其它服务挂了,就每办法了.
eureka:
client:
registry-fetch-interval-seconds: 30
7.每个服务都可以选择把不把自己注册到eureka上去,也可以选择要不要从上面拉取服务.这个可以自行配置.
eureka:
client:
service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要写其它Server的地址。
defaultZone: http://127.0.0.1:10086/eureka
register-with-eureka: false # 不注册自己
fetch-registry: false #不拉取服务

浙公网安备 33010602011771号