创建注册中心
-
模块名称
spring-cloud.s1.eureka-server
(s1 表示 step1) -
修改 pom 文件
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies>
-
创建启动类
me.xhy.java.springcloud.s1.eureka.EurekaServerApplication
//1. @SpringBootApplication //spring-boot 注解,相当于 @Configuration + @EnableAutoConfiguration + @ComponentScan //@EnableAutoConfiguration -> AutoConfigurationImportSelector 会加载 META-INF/spring.factories 中指定的组件 //这里应用了 SPI 协议 //2. @EnableEurekaServer //完成注册中心功能 @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { /* 启动参数一定要加 `args` ,以后命令行传参就是靠这个变量 */ SpringApplication.run(EurekaServerApplication.class, args); } }
-
添加配置文件
eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件application.yml:
server: port: 35001 eureka: instance: hostname: localhost spring: application: name: eurka-server
通过
eureka.client.registerWithEureka
: false 不向服务中心注册 和eureka.client.fetchRegistry
: false 不获取服务列表。作为 Eureka Server , Eureka Server 集群之间可以同步服务列表,没有必要对外暴露 Eureka Server 的服务,也不需要显示的设置下载服务列表。关于 yml 文件,他对格式的要求非常严格:
- 缩进标准必须一致
- 缩进层级必须依次递增
- 缩进必须对齐
-
:
后必须有空格 - value 再长也不能回行
-
value 如果是由
,
分隔的,可使用-
数组形式替代使其单行内容缩短
- 启动工程
运行 EurekaServerApplication 的 main 函数。
此时会报错,先忽略。可以从控制台启动日志看到,tomcat 被启动了,端口是配置文件指定的 35001 。
- 访问
访问 http://localhost:35001/
。
可不是 http://localhost:35001/eureka
此时还没有服务注册到 eureka ,"Instances currently registered with Eureka" 区域显示 "No instances available" 。
原文
https://segmentfault.com/a/1190000022024085
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring Cloud (2) —— Eureka