简单的Eureka-maven项目搭建
1.创建服务注册中心Eureka-server新建springboot项目
2.配置pom文件
|
需要特别注意的是springboot\cloud的版本问题,这里springboot是1.5.6,springcloud是
Camden.SR6。如果版本不正确可能会报错:
java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
。。。。。。。
ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the cont
。。。。。。。
这里看了一些博客 说是 spring boot 1.4以后 FilterRegistrationBean的位置换到了 org.springframework.boot.web.servlet 下面
修改springcloud版本到 Camden.SR6 即可
3.主函数
创建
App
类,并用
@EnableEurekaServer
和
@SpringBootApplication
两个注解修饰,后者是
Spring Boot
应用都需要用的;
@EnableEurekaServer
注解的作用是触发
Spring Boot
的自动配置机制,由于我们之前在
pom
文件中导入了
eureka-server
,
spring boot
会在容器中创建对应的
bean
。
代码:
@EnableEurekaServer
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
|
4.配置文件
添加配置文件application.properties
。
eureka
是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server
也是一个eureka client ,
必须要指定一个 server
。
|
5.启动服务
启动注册服务,并访问:http://localhost:8761
就可以看到如下界面。
启动注册服务,并访问:http://localhost:8761
就可以看到如下界面。
可以看到No Application available没有服务被发现,因为还没有服务注册。下面我们建立服务。
6.服务提供者
Eureka Client
创建一个Spring Boot工程,代表服务提供者,该服务提供者会暴露一个当前请求产生的时间字符串。
当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除。
提供一个rest服务,并且通过Eureka Client把服务实例注册到注册中心。
目录结构:
7.
pom.xml
文件
注意和注册中的springcloud版本最好一致。
|
配置后 maven update
8.配置文件
配置文件application.properties
|
如果地址不对会报错:
。。。。
8762 - was unable to refresh its cache! status = Cannot execute request on any known server
。。。。
9.主函数
通过注解@EnableEurekaClient 表明自己是一个eurekaclient.
注意之前是@EnableEurekaServer
应用启动类:
|
10.启动服务
先启动服务注册中心的工程,然后再启动服务提供者,在访问:localhost:8761
,如下图所示,服务提供者已经注册到服务注册中心啦,
服务提供者实例已经注册到注册中心,服务名:service-zz端口为8762.并且可以直接在浏览器访问该实例暴露出来的REST
服务。
你会在浏览器上看到:
hi:dacl,我是猪猪,我是从端口8762来的