Idea创建spring cloud项目--eureka注册中心和客户端
-
创建maven项目
-
删除src文件夹
-
在该项目project下,新建module,使用spring initializr。
-
导入注册中心依赖,新建的项目会自动继承父项目
-
在spring boot启动类下,开启eureka注解
@EnableEurekaServer
声明当前项目为注册中心 -
在配置文件中编写注册中心的配置
server:
port: 8801
eureka:
client:
# 在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为
# 因为当前服务就是注册中心 不需要向任何人注册
# eureka.client. register-with-eureka:由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己
registerWithEureka: false
# eureka. client . fetch-registry:由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false。
# 不主动发现别人
fetchRegistry: false
# 声明注册中心的地址
serviceUrl:
defaultZone: http://localhost:8801/eureka/
至此,完成注册中心的搭建
-
启动项目,访问http://localhost:8801可以访问注册中心的管理页面
-
不关闭注册中心,创建一个客户端,把客户端注册到注册中心上
-
前面步骤类似,就是加依赖的时候添加的是eureka客户端的依赖和其他需要的依赖,比如web,test
-
在启动类上开启@EnableEurekaClient注解,声明当前项目为一个 Eureka客户端,代表只能向 Eureka 注册中心注册
如果是@EnableDiscoveryClient 声明当前项目为一个 Eureka客户端是可以被发现的客户端,除了向 Eureka 注册中心注册 可以向其他的注册中心注册 zookeeper consul -
修改配置文件,指定当前服务的名称,会注册到注册中心
server:
port: 8803
# 指定当前服务的名称,会注册到注册中心
spirng:
application:
name: eureka-client-8803
# 指定服务注册中心的地址
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8801/eureka/
至此完成Eureka 客户端的搭建
- 启动项目 观察注册中心的监控页面 看一看有没有服务注册到注册中心
确保注册中心和客户端都启动了
总结
通过SpringCloud做微服务开发,不管是注册中心,还是客户端,还是网关等,SpringCloud几乎所有的组件都是四板斧:
- 导入依赖
- 启动类上加注解
- 写配置文件
- 直接使用