作者:红颜弹指老a刹那芳华_623 | 来源:互联网 | 2023-09-15 13:20
理论:SpringCloud的服务注册中心可选用:Eureka、Zookerper、Consul、etcd等等.Eureka包含两个组件:EurekaServer和EurekaCl
理论:
SpringCloud的服务注册中心可选用:Eureka、Zookerper、Consul、etcd等等.
Eureka包含两个组件:EurekaServer和EurekaClient;
EurekaServer提供服务发现的能力,各个微服务启动时,会向EurekaServer注册自己的信息(eg:IP,端口,微服务名称等),EurekaServer会存储这些信息.
EurekaClient是一个Java客户端,用于简化与EurekaServer的交互.
ps:
1.微服务启动后,会周期性(默认30秒)地向EurekaServer发送心跳以续约自己的"租期"
2.如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例.(默认90秒)
3.默认情况下,EurekaServer同时也是EurekaClient.多个EurekaServer实例互相之间通过复制的方式,来实现服务注册表中数据的同步
4.EurekaClient会缓存服务注册表中的信息.这种方式有一定的优势--
首先,微服务无须每次请求都查询EurekaServer,从而降低了EurekaServer的压力;
其次,即使EurekaServer所有节点全部宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者并完成调用.
综上所述,Eureka通过心跳检查、客户端缓存等机制,提供了系统的灵活性、可伸缩性和可用性.
第一步,首先创建一个maven项目
1.选择"File"--"New" --" Project",选择"Maven"--"Webapp"这一项,点击"Next"
2.输入自己心仪的项目信息
3.配置好Maven的仓库位置及set文件
Maven项目创建好后,结构如下图:
第二步,在已创建好的Maven项目上,新建一个Springboot项目作为Eureka的EurekaServer
步骤如下图:
1.在springcloud-demo上,右键选择"New"--"Module"
2.选择"Spring Initializr"选项,即创建Springboot项目
3.输入自己心仪的项目名称
4.在依赖选择内,选中"Spring Cloud Discovery"--"Eureka Server"的依赖即可
Springboot项目创建好后,项目总体结构如下图:
第三步,就是配置服务的发现与注册中心了,需要将刚刚创建好的eureka这个项目配置成一个EurekaServer.
1.配置application.yml文件
ps:
eureka.client.registerWithEureka:
表示是否将自己注册到EurekaServer,默认为true.
(当前应用本身为单点EurekaServer,故设置成false.)
eureka.client.fetchRegister:
表示是否从EurekaServer获取注册信息,默认为true.
(当前应用为单点EurekaServer,不需要同步其他的EurekaServer节点的数据,故设置成false.)
eureka.client.serviceUrl.defaultZone:
设置与EurekaServer交互的地址,查询服务与注册服务都需要依赖这个地址.多个地址可使用';'分隔.
2.配置当前Springboot项目的启动类,声明该Springboot项目为Eureka的EurekaServer.
以上,EurekaServer就已经配置好了.使用启动类直接Run,
然后在浏览器输入Eureka服务发现与注册中心的地址.查看下EurekaServer是否搭建成功.
Eureka的EurekaServer便搭建好了.