1、开发 Eureka Server
1.1、创建项目
1)通过欢迎界面的入口创建项目
2)通过 IDEA 的主菜单创建项目
File -> New -> Project
如果引用的依赖包本地仓库没有,就会从远程仓库下载,所以在建立项目时,确保网络通畅。
1.2、修改代码及配置文件
项目创建完成后,源码结构如下图所示:
下面进行文件修改
1)修改 EurekaApplication 文件
其实修改很少,只是增加@EnableEurekaServer 注解而已
注意:系统会自动提示导入包,如果不提示那么需要手动导入“import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
”,不然系统会报错依赖问题。
2)删除 application.properties,新建 application.yml 文件
内容如下,主要是配置了 服务名称,服务端口,eureka 的注册服务 URL。
spring:
application:
name: eureka
server:
port: 8000
eureka:
client:
service-url:
defaultZone: http://localhost:8000/eureka/
1.3、运行
右击 EurekaApplication -> Run 'EurekaApplication ' 即可启动
在浏览器中输入 http://localhost:8000 即可进入 Eureka 控制台,我们可以看到服务的基本信息,以及可以看到已经注册的服务。Eureka Server 已经把它自己也注册到当前的注册中心了。
如果不想让 eureka server 注册到自己的注册中心,只需要在配置文件 application.yml 中加上 register-with-eureka: false 即可。
spring:
application:
name: eureka
server:
port: 8000
eureka:
client:
service-url:
defaultZone: http://localhost:8000/eureka/
register-with-eureka: false
注意:yml的缩进是比较严格的,请核对,下图箭头所指的两行的缩进需要对齐,否者可能会引起配置不生效。
重新编译后,Eureka Server 就没有注册到注册中心了
至此,Eureka Server 就完成了。够简单的吧?
1.4、用 IDEA 自带的 Maven 给 Eureka 打包
1.4.1、配置
Run -> Edit Configuration
点击“+”号,选择 Maven
输入一个名字,如:MyEurekaServer,命令行填入:clean package,点击OK,完成配置!
1.4.2、显示 Maven 工程界面
主菜单:View -> Tool Windows Maven Projects
1.4.3、运行 jar 包
实例中生产的 jar 包文件为:C:\MyIdeaProjects\eureka\target\eureka-0.0.1-SNAPSHOT.jar
Windows键+R 运行:cmd
在windows命令行里输入:java -jar C:\MyIdeaProjects\eureka\target\eureka-0.0.1-SNAPSHOT.jar,该窗口会保持运行,直到终止退出为止。
使用浏览器访问 http://127.0.0.1:8000,能正常进入 Eureka Server 控制台。说明 jar 导出、运行正常!
2、开发 Eureka Client
2.1、创建项目
步骤和创建 Eureka Server 项目类似,新建 Spring Initializr,填写项目信息
后面一直Next、Finish
2.2、修改代码及配置文件
1)修改 EurekaApplication 文件
增加 @EnableDiscoveryClient 注解
2)删除 application.properties,新建 application.yml 文件
spring:
application:
name: eureka-client
server:
port: 18000
eureka:
client:
service-url:
defaultZone: http://localhost:8000/eureka/
2.3、运行
右击 EurekaClientApplication -> Run 'EurekaClientApplication ' 即可启动
在浏览器中输入 http://localhost:8000 即可进入 Eureka 控制台
2.4、打包
参看:1.4、用 IDEA 自带的 Maven 给 Eureka 打包
3、注册到 Eureka 服务器的微服务之间的调用
Eureka 服务器存在的目的就是可以让注册到 Eureka 的微服务之间可以方便地调用,同时采用 ribbon 可以实现微服务集群模式下的负载均衡。建立两个微服务,一个是服务提供者(Provider),一个是服务消费者(Consumer ),Consumer 调用 Provider 的服务。
3.1、服务提供者(Provider)的开发
1)新建工程
点击菜单:FIle -> New -> Project
2)选择创建的项目类型
选择建立 Spring Initializr 项目,下一步
3)选择依赖
选择 Web、Eureka Discovery、Ribbon三个依赖,如下图
注:如果 Provider 仅仅是提供服务,并不会调用其他服务的话,那么 Ribbon 依赖可以不加,但考虑到微服务一般都会调用其它服务,为了一致性,所有的微服务都加上了 Ribbon 依赖。
4)修改配置文件
将 application.properties 文件改名为 application.yml ,
application.yml 文件内容为:
spring:
application:
name: provider
server:
port: 8010
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8000/eureka/
5)、创建和编写 ProviderController 控制器
在包 com.tanbushi.provider 里新建控制器类:ProviderController
编辑类文件
6)、测试运行
运行后,检测是否正常
A、查看 Eureka 控制台
浏览器访问 http://127.0.0.1:8000/,可以看到微服务 Provider 成功注册!
B、测试微服务 Provider
浏览器访问 http://127.0.0.1:8010/get_name
返回正常!
3.2、服务消费者(Consumer)的开发
1)、创建 consumer 项目
依赖选择和 provider 相同,也是三个
2)修改配置文件 application.yml
spring:
application:
name: consumer
server:
port: 8020
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8000/eureka/
3)、修改 Consumer 默认的Application 函数
4)、编写 ConsumerController 代码
从上图可以看到,此处比 ProviderController 控制器多了两处,第一个是 RestTemplate 的注入(@Autowired),第二处是增加了一句Consumer 代用 Provider 的演示代码。
5)、测试运行
运行后,检测是否正常
A、查看 Eureka 控制台
浏览器访问 http://127.0.0.1:8000/,可以看到微服务 Consumer 成功注册!
B、测试微服务 Consumer
浏览器访问 http://127.0.0.1:8010/get_name
测试成功!
上一篇:Spring Cloud 零基础实战(二):JDK、IDEA、Maven的安装和配置
下一篇:Spring Cloud 零基础实战(四):最简单的多模块应用框架搭建
所属文集:Spring Cloud 零基础实战