课程名称:Spring Cloud+ Vue前后端分离开发企业级在线视频系统
课程章节:第2章 使用Maven搭建SpringCloud项目
讲师姓名:甲蛙老师
课程内容:
使用Eureka搭建注册中心:初始化为maven父子项目,使用eureka服务作为注册服务端。
课程收获:
学会了搭建微服务项目的基本方法:
①新建一个SpringBoot项目(本次项目使用SpringBoot2.2.2.RELEASE与Spring Cloud Hoxton.RELEASE)
②新建eureka-server项目并将整体项目改造为Maven父子项目,引入如下依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
③添加application.properties配置文件,写入以下内容:
spring.application.name=eureka-server
server.port=8000
eureka.instance.hostname=localhost
#fetch-registry: 获取注册表,不需要同步其他节点数据
eureka.client.fetch-registry=false
#register-with-eureka 是否将自己注册到Eureka Server 默认是true
eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}
④在启动类中添加注解
@EnableEurekaServer
使用eureka的优势:
1)提供完成的服务注册和服务发现实现
首先是提供了完整的服务注册和服务发现实现,并且也经受住了Netflix自己的生产环境考验,相对使用起来会比较省心。
2)与SpringCloud无缝集成
我们的项目本身就使用了Spring Cloud和Spring Boot,同时Spring Cloud还有一套非常完善的开源代码来整合Eureka,所以使用起来非常方便。
3)采用AP而非CP
在云端,特别是大规模部署情况下面,失败是不可以避免的,可能是因为eureka自身部署失败或者网络分区等情况导致服务不可用,这些问题是不可以避免的,要解决这个问题就需要eureka在网络分区的时候,还能够正常提供服务,因此eureka选择满足availability这个特性。
4)开源
代码是开源的,所以非常便于我们了解它的实现原理和排查问题。需要的话还可以在上面进行二次开发。