开发者学堂课程【微服务框架 Spring Cloud 快速入门:Eureka 集群配置】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/614/detail/9351
Eureka集群配置
目录
一. 前言
二.集群配置
一. 前言
集群:指在不同的机器或者是服务器上配置相同的服务,对外做一个超大运算的整体。
例如:现有一个淘宝网址,其后有上万台服务器给其提供,这就是一个集群环境。
同样在此期间学过相应的集群配置。
二. 集群配置
前导:
首先集群除了有高可用以外,更重要的是现在所有的东西都去找 eureka。问题是如果 eureka 只有7001,失效后应当如何解决?那么多配置以后是也可满足高可用。
例如:一个班级至少要配两个班主任,可能正班主任家里有事不能来,那么副班主任应该可以顶替。
1. 原理说明(前者简要说明)
2. 新建
microservicecloud-eureka-7002/microservicecloud-eureka-7003
实操发现:7001的任何东西可直接使用。
继续搭建集群:完成7001.7002.7003
3. 按照7001为模板粘贴POM
依次对7001.7002.7003修正
7
001
:
<dependencies>
<! --eureka-serve
r服务端-->
<dependency>
groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</ artifactId>
</dependency>
<!--修改后立即生效,热都署-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</ artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dextools</artifactId>
</dependency>
</dependencies>
project>
7
002
:
<!--修改后立即生效,热部署-->
<dependency>
<groupId>org.springframeiwork</ groupId>
<artifactId>springloaded</ artifactId>
</ dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</ dependency>
</ dependencies></proiect>
7
003
:
<! --修改后立即生效,热部署-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</ artifactid></dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</ dependencies>
</project>
4. 修改7002和7003的主启动类
依次进行拷贝7002和7..3
5. 修改映射配置
之前仅有一个7001,eureka 的实例主机名为 localhost。现目前有3个 eureka(不好区分),先应当做一个域名的区分。
(1) 找到 C:\Windows\System32\drivers\etc
路径下的hosts 文件
访问一个7001可以进行,若访问7002,又虽端口相同,但都为localhost仍存在不便。应当做出域名映射。
(2) 修改映射配置添加进 hosts 文件
① 127.0.0.1 (localhost)eureka7001.com+7001端口:
7001的访问地址
② 127.0.0.1(localhost) eureka7002.com+7002端口:
7002的访问地址
③ 127.0.0.1(localhost) eureka7003.com+7003端口:
7003的访问地址
6.3台 eureka 服务器的 yml 配置
现如今三台机器,则如下:
(1)7001
单机版老版本:
server:
port: 7001
eureka:
instance:
hostname: localhost #teureka
服务端的实例名称
client:
register-with-eureka: false #false
表示不向注册中心注册自己。
fetch-registry: false #false
表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone:http://${eureka.instance.hostname}:${server.port}/eureka/
#设置与 Eureka Server 交互的地址查询服务和注册服
现今:(域名映射后)
server:
port: 7001
euneka:
instance :
hostname: eureka7001.com tteureka
服务端的实例名称
client:
register-with-eureka: false#false
表示不向注册中心注册自己。
fetch-registry: false #false
表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#单机defaultZone: http://${eureka.instance.hostname}
:${server.port}/eureka/
#设器与Eureka Server交互的地址查询服务和注
defaultZone: http://eureka7002.com:7002/eureka/ ,http://eureka7003.com:7003/eureka/
(2)7002
如上依次进行:
server:
port: 7002
eureka :
instance:
hostname: eureka7002.com tteureka
服务端的实例名称
client:
register-with-eureka: false#false
表示不向注册中心注册自己。
fetch-registry: false #false
表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
#defaultZone:
http://${eureka.instance.hostname}:${
server.port}/eureka/
#设置与Eureka Server交互的地址查询服务和注册服
defaultZone: http: / /eureka7001.com:7001/eureka/ ,http: / /eureka7003.com:7003/eureka/
(3)7003
server:
port: 7003
eureka :
instance:
hostname: eureka7003.com tteureka
服务端的实例名称
client:
register-with-eureka: false#false
表示不向注册中心注册自己。
fetch-registry: false #false
表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服
service-url:
#defaultZone: http:/ /${eureka.instance.hostname}:${server.port}/eureka/
#设
defaultZone: http: / /eureka7001.com:7001/eureka/ ,http://eureka7002.com:7002/eurek
最关键一步为8001:
首先8001需要注册,单机版时仅显示一个地址,现集群版有7001.7002.7003.则8001续同时注进1.2.3.
7.microservicecloud-provider-dept-8001微服务发布到上面3台eureka集群配置中
(1) YML
service-url:
defaultZone: http://eureka7001.com:7001/eureka/ ,http://eureka7002.com:7002/eureka/ , http://eureka7003.com:703/eure
ka/
instance:
instance-id: microservicecloud-dept8001#
自定义服务名称信息prefer-ip-address: true#
访问路径可以显示IP地址
info:
app.name: atguigu-microservicecloud
company.name: www.atguigu.com
build.artifactId: $project.artifactId$
build.version: $project.version$
修改后注进3台机器。
单机版:8001入注7001,现今三个eureka集群,则显示如下效果:
defaultZone: http://eureka7001.com:7001/eureka/ , http://eureka7002.com:7002/eureka/ , http:/ /eureki3.
com: 7003/eurek
(8001同时进入1.2.3.集群环境中)
接下来验证:
7001.7002.7003.8001.启动验证
这样很耗内存资源。
集群环境搭建成功。
点开之后得到:
{"app" : {"name" :"atguigu-microservicecloud"} , "company":{"name" :"www.atguigu.com"} ,"build" :
{"artifactId" :"microservicecloud-provider-dept-8001","version":"0.0.1-SNAPSHOT"}}
1后面所跟2和3,微服务创建成功。
同样微服务注册成功。
{app" : {"name" :"atguigu-microservicecloud"} , "company":{"name" : "www. atguigu. com"},"build":
{"artifactId" :"microservicecloud-provider-dept-8001", "version" :"0.0.1一SNAPSHOT" } }
这一系列步骤就是 eureka 相关配置。