今天开始,将spring cloud 系列从入门到源码,一步一步的进行研究,再此做个记录。以期在理解上若有什么偏颇,可以有人帮忙指正,也为要进入spring cloud的同道中人,给予一点点的启发,防止步入同我一样的坑中。
第一个要做的,肯定是微服务最为不可缺少的,服务的注册管理与发现。那就从官方的Eureka开始吧,直接进入项目实战。
我用的是IEDA,如图所示,选择springboot项目:
然后填写项目名称,下一步,直到:
然后,就可以完成项目创建了,我们先来看一下pom文件:
1.8
Greenwich.SR1
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
jar包引入之后,首先要进行配置,我比较喜欢yml格式的配置文件,主要配置如下:
spring:
application:
name: eureka-1
eureka:
instance:
hostname: localhost
server:
wait-time-in-ms-when-sync-empty: 0
enable-self-preservation: false
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://localhost:8848/eureka/
server:
port: 8848
这是单机demo,不能用于线上,至于线上环境,我会使用Alibaba的Nocas,到时,会详细的讲解。
配置文件中的配置,主要用于告诉程序,不要把自己作为服务进行注册,正式的生产环境中,往往是会把自己作为服务进行注册的。
配置完毕,启动程序。访问对应ip和端口号,这里端口号是刚刚配置的8848,ip为localhost即可,发现会有如下错误,怎么回事呢?
原来还有一步需要做,就是在启动主类中添加@EnableEurekaServer注解,如下:
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
再次启动,再次访问localhost:8848,发现:
eureka服务顺利启动,但是发现,还没有注册进来服务,这里空空如也,下一篇将讲述服务注册进Eureka的过程。