《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
<project xmlns=“http://maven.apache.org/POM/4.0.0”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.1.RELEASE
com.yanger
eureka-server
0.0.1-SNAPSHOT
eureka-server
Demo project for SpringCloud
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-devtools
true
true
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin
true
这里我们要搭建Eureka服务器,所以在Spring Boot启动类上添加@EnableEurekaServer注解即可。
到这里,可以说Eureka服务器就已经搭建完成了,是不是非常简单。但为了完善,我们可能还需要一点儿配置,这里我们依旧使用了application.yml,当然使用application.properties也是一样。其中我们指明了服务的端口为10810,eureka.client.register-with-eureka=false用来控制当Spring Boot启动服务完成后是否将该服务注册到服务治理服务器上,这里因为服务本身就是服务治理服务器,而且尚未构建任何服务治理集群,因此将其设置为false,表示不注册,eureka.client.fetch-registry=false表示应用启动后不需要从服务治理服务器中同步已注册的服务注册列表数据到本地。如果是单节点,配置defaultZone将起不到作用,对于分布式Eureka服务器,互相注册则需要设定defaultZone。
然后我们启动项目,成功启动后,我们访问http://localhost:10810/即可出现Eureka服务器注册列表界面,而服务列表区域空空如也,这是因为我们还没有注册任何微服务到eureka-server上。
2.搭建Eureka客户端
还记得上一节中的Spring Boot项目吗?这里我们将其改造为user-server客户端,并注册到Eureka服务器上。
如果没有阅读上一节的读者,可以点击进入:https://blog.csdn.net/Simple_Yangger/article/details/87907177
这里我将只列出改动点,不再展示具体项目代码,如需获取代码,可点击文章底部源码地址获取。上一章的Spring Boot项目代码地址:https://github.com/imyanger/springcloud-project/tree/master/p1-springboot
针对已经存在的Spring Boot项目,我们可以很方便的整合到Spring Cloud体系中。添加Eureka功能,我们需要在pom文件中添加spring-cloud-starter-netflix-eureka-client依赖,或者直接添加入和Eureka服务器一样的spring-cloud-starter-netflix-eureka-server,这是因为eureka-server中包含了eureka-client依赖。
然后再启动类中我们添加@EnableEurekaClient表明项目是一个Eureka客户端,有的教程中也用@EnableDiscoveryClient注解,这是因为注册中心除了Eureka外,还有其他实现,如consul、zookeeper等,@EnableEurekaClient仅仅服务于Eureka,而@EnableDiscoveryClient则可以通用。
最后,我们还需要在配置文件中做相应的配置,不然服务怎么知道要注册到哪个Eureka服务器上,所以这里我们主要指明了注册中心的地址,其中eureka.client.register-with-eureka和eureka.client.fetch-registry属性都设置为了true,表示需要将该服务注册到Eureka服务器中,并需要从Eureak服务器中同步所有注册服务数据到本地。同时也添加spring.application.name声明该微服务的服务名,而注册到Eureka中,不同服务也是以服务名进行区分的。
总结
虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。
上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料
有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料**
有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!