eureka server配置_Eureka 服务注册中心

一、什么是服务注册中心

服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是 SOA 架构中最基础的设 施之一。

1 、服务注册中心的作用

1)服务的注册

把QQ群理解为注册中心,Kevin为群主,当有其他的人(Q1)想申请加入此QQ群的时候,这个过程可理解为服务的注册;若群主接受申请,则为服务的注册成功,拒绝申请,则为服务的注册失败;

2)服务的发现

若群主接受申请,Q1进入群中,QQ群界面中的群成员可以理解为已注册的服务;

Q1可以在群中发送消息/传文件,这个过程称为服务的发现。

c099d211f44f742dd750922a55a35c9b.png
图1(服务中心事例模型)

2、常见的注册中心有哪些

1)Dubbo 的注册中心 Zookeeper

2)Sringcloud 的注册中心 Eureka

3、服务注册中心解决了什么问题

1)服务管理

2)服务的依赖关系管理

4、什么是 Eureka 注册中心

Eureka 是 Netflix 开发的服务发现组件,本身是一个基于 REST 的服务。Spring Cloud

将它集成在其子项目 spring-cloud-netflix 中,以实现 Spring Cloud 的服务注册与发现,同

时还提供了负载均衡、故障转移等能力。

5、Eureka 注册中心三种角色

1)Eureka Server(搭建的集群)

通过 Register、Get、Renew 等接口提供服务的注册和发现。

2)Application Service (Service Provider 生产者)

服务提供方

把自身的服务实例注册到 Eureka Server 中。

3)Application Client (Service Consumer 消费者)

服务调用方

通过 Eureka Server 获取服务列表,消费服务。

二、Eureka 入门案例

1、创建项目(idea)

267c0392623c5ef1d97ad0ad6f1e0d5e.png
图2(搭建Eureka 注册中心的项目目录)

2、修改pom.xml文件添加依赖

注意:

1)官网中默认没有添加server单词默认为(spring-cloud-starter-eureka)所以需要手动添加server;

2)若不添加server则启动类中的@EnableEurekaServer无法添加,此注解默在server坐标下

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka- server</artifactId>
</dependency>

pom.xml类

<?xml version="1.0" encoding="UTF-8"?>

3 、修改启动类

在类上添加注解 @EnableEurekaServer --->表示启动是server端。

EurekaApplication.java类

package 

4 、修改 application.properties 全局配置文件

application.properties全局配置文件

#搭建 Eureka 注册中心
#给当前应用起个名称
spring.application.name=eureka-server
#修改端口号默认为8080
server.port=8761

#是否将自己注册到Eureka-Server中,默认为true
eureka.client.registerWithEureka=false

#是否从Eureka-Server中获取注册信息,默认为true
eureka.client.fetchRegistry=false

5 通过浏览器访问 Eureka-Server 服务管理平台

1)首先开启启动类(EurekaApplication.java类),待控制台正常启动程序;

2)在浏览器地址栏中输入 localhost:8761

54a5a3795bf677479f85e224755861bc.png
图3(启动类控制台打印成功启日志)

2)在浏览器地址栏中输入 localhost:8761 便可访问Eureka-Server 服务管理平台

d3de5bb5fc9624609f6cc8c66d500fb4.png
图4(Eureka-Server 服务管理平台界面)

三、 搭建高可用 Eureka 注册中心(Eureka 集群)

以下操作在idea中步骤一样,唯一不同为导出jar包

idea把项目导出jar包的操作:

29b9811b4a2f0c9920640b4f773473f6.png
图5(idea导jar的步骤)

1、创建项目(myeclipse)

53fb7985a423da79565032d3cc9f4c37.png
图6(搭建集群版的 Eureka 注册中心)

2、配置文件

在搭建 Eureka 集群时,需要添加多个配置文件,并且使用 SpringBoot 的多环境配置方式。

集群中需要多少节点就添加多少个配置文件。

3、在配置文件中配置集群节点

application.eureka1.properties全局配置文件

#给当前应用起个名称
spring.application.name=eureka-server
#修改端口号默认为8080
server.port=8761

#设置eureka实例名称,与配置文件变量为主
eureka.instance.hostname=eureka1
#设置服务中心地址,指向另一个注册中心
eureka.client.serviceUrl.defaultZone=http://eureka2:8761/eureka/

application.eureka2.properties全局配置文件

#给当前应用起个名称
spring.application.name=eureka-server
#修改端口号默认为8080
server.port=8761

#设置eureka实例名称,与配置文件变量为主
eureka.instance.hostname=eureka2
#设置服务中心地址,指向另一个注册中心
eureka.client.serviceUrl.defaultZone=http://eureka1:8761/eureka/

4、添加 logback.xml日志配置文件

logback.xml日志文件

125617cb0000f259d54b4632b6093a3d.png
图7(logback.xml日志文件)

logback.xml日志文件

<?xml version="1.0" encoding="UTF-8" ?>
 

5、虚拟机中的操作

192.168.2.128虚拟机

1)上传项目的jar包到linux虚拟机的(temp)指定目录中。

8ce7cc3f1cfd63b1d333e6823d9a657e.png
图8(上传jar包到linux系统的步骤)

2)创建运行注册中心的目标文件夹

1a5eb43660ac62c088bc9c0ed51fdd14.png
图9

3)把jar包复制到目标文件夹

d1dd41dd8fde3002596b0bcbf15e64d7.png
图10

4)修改脚本

69fba2bcbcb1da65c9372b0221fc2ee5.png
图11(修改脚本)

注意粘贴到server.sh(脚本名)后只需要修改 项目名称 配置文件变量名称。

a)项目名称-->springcloud-eureka-server-jq-0.0.1-SNAPSHOT.jar

b)配置文件变量名称--->eureka1

编写一个启动脚本文件

server.sh脚本

&1 

5)给脚本分配执行权限

给脚本分配权限的命令

chmod -R 755 加脚本名称

Chmod -R 755 server.sh

8e1d9c0055f0f931db2b1ec8165abf28.png
图12(给脚本添加权限)

6)修改 linux 的 host 文件

修改 linux 的 host 文件

Vim /etc/hosts

直接添加-->

192.168.2.128 eureka1

192.168.2.126 eureka2

注意:IP和单词间是空格

7)启动 eureka 注册中心

./server.sh start 启动

./server.sh stop 停止

8)通过浏览器访问注册中心的管理页面

192.168.2.128:eureka1

192.168.2.126:eureka2

6b05e7c502fdbfdc84d64c975d8ea9e9.png
图13(注册中心的管理页面)

9)192.168.2.126虚拟机的操作

操作同192.168.2.128虚拟机操作相同,唯一不同的是修改脚本。

1)修改脚本

a)项目名称-->springcloud-eureka-server-jq-0.0.1-SNAPSHOT.jar

b)配置文件变量名称--->eureka2

四、 在高可用的 Eureka 注册中心中构建 provider 服务

1、创建项目(myeclipse)

复制springcloud-eureka-server项目

9a94758ee9e7efb546270ab42a7d5d65.png
图14

2、修改 pom 文件

修改

去掉坐标中的-server

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka -server</artifactId>
</dependency>

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

3、修改启动类

添加注解-----> @EnableEurekaClient //表示服务的客户端

EurekaApplication.java类

package 

4、修改 provider 的配置文件

application.properties全局配置文件

#给当前应用起个名称
spring.application.name=eureka-provider
#修改端口号默认为8080
server.port=9090

#设置服务注册中心地址,指向另一个注册中心 
eureka.client.serviceUrl.defaultZone=http://eureka1:8761/eureka/,http://eureka2:8761/eureka/

5、修改 windows 的 host 文件

host所在路径:C:WindowsSystem32driversetchost

添加以下内容----->

192.168.70.134 eureka1

192.168.70.135 eureka2

6、编写服务接口

6.1、创建 pojo

User.java 类

package 

6.2、创建接口

UserController.java类

package 

7、测试provider

7.1、首先启动注册中心,再去启动provider项目的启动类

e918fe17d93b507ba180ff4b42e8916c.png
图15(开启provider的启动类)

7.2、在注册中心查看注册信息

由下图可知,provider已经注册成功,便可调用其接口。

abcad859ba0153e715b786f755eb799d.png
图16(注册中心界面查看已注册的provider)

7.3、在网页中调用接口中的数据

访问地址为-----> localhost:9090/user

拿到信息表示服务可用,调用接口没有问题

b290e3929a781c90c1dd6671b15209dc.png
图17(拿到接口中的信息)

五、 在高可用的 Eureka 注册中心中构建 consumer 服务

1、创建项目

复制上面的provider项目

8982e88940da01323f62c081c69d4688.png
图18(创建 consumer 服务)

注意:

服务的消费者与提供者都需要在 Eureka 注册中心注册。

2、修改全局配置文件

端口改为-----> 9091 (防止端口抢占)

application.properties全局配置文件

#给当前应用起个名称
spring.application.name=eureka-consumer
#修改端口号默认为8080
server.port=9091

#设置服务注册中心地址,指向另一个注册中心 
eureka.client.serviceUrl.defaultZone=http://eureka1:8761/eureka/,http://eureka2:8761/eureka/

3、添加业务层(在 Service 中完成服务的调用)

UserService.java类

package 

4、修改Controller

UserController.java类

package 

5、测试 consumer 访问 provider

首先启动服务的提供者(17-springcloud-eureka-provider)的启动类,然后启动服务的消费者(17-springcloud-eureka-consumer)的启动类。

5.1、在网页上访问注册中心-----> 192.168.2.128:8761

观察 provider 和consumer是否注册。

93bf43977456d3807f54b4d177ca875b.png
图19(eureka注册中心)

5.2、在网页中通过consumer调用provider

访问地址-----> localhost:9091

6defa7d7c906614126bb8b8784215463.png
图20(通过服务的消费者调用服务的生产者)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值