搭建eureka服务

一、搭建EurekaServer

  (1)创建项目,引入spring-cloud-starter-netflix-eureka-server的依赖

    <dependency>

       <groupId>org.springframework.cloud</groupId>

       <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

    </dependency>

  (2)编写启动类,添加@EnableEurekaServer注解

  (3)添加application.yml文件,编写下面的配置:eureka自己也是一个微服务【服务注册】

server:
  port: 10086 #服务端口
spring:
  application: #eureka的服务名称
    name: eurekaserver
eureka:
  client:
    service-url: #eureka的地址信息
      defaultZone: http://localhost:10086/eureka

 

启动项目访问,可以看到eureka自己的注册信息

 

二、将user-service、order-service都注册到Eureka

(1)在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖

<!--引入eureka客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

 (2)在user下的application.yml文件,编写下面的配置:

server:
port: 8081
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloud_user?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
application: # user服务的服务名称
name: userservice
mybatis:
type-aliases-package: cn.itcast.user.pojo
configuration:
map-underscore-to-camel-case: true
logging:
level:
cn.itcast: debug
pattern:
dateformat: MM-dd HH:mm:ss:SSS
eureka:
client:
service-url: # eureka的地址信息
defaultZone: http://localhost:10086/eureka

order-service的注册同上。

启动项目

 此外,可以将user-service多次启动, 模拟多实例部署,但为了避免端口冲突,需要修改端口设置:

启动新user-service实例

 

服务注册:引入eureka-client依赖 在application.yml中配置eureka地址。

无论是消费者还是提供者,引入eureka-client依赖、知道eureka地址后,都可以完成服务注册

 

三、在order-service中完成服务拉取,然后通过负载均衡挑选一个服务,实现远程调用

  服务拉取是基于服务名称获取服务列表,然后在对服务列表做负载均衡

  1、修改OrderService的代码,修改访问的url路径,用服务名代替ip、端口:

 

  2、在order-service项目的启动类OrderApplication中的RestTemplate添加负载均衡注解:@Balanced

 

 

搭建EurekaServer:

1、引入eureka-server依赖

2、添加@EnableEurekaServer注解

3、在application.yml中配置eureka地址

服务注册

1、引入eureka-client依赖

2、在application.yml中配置eureka地址

服务发现

1、引入eureka-client依赖

2、在application.yml中配置eureka地址

3、给RestTemplate添加@LoadBalanced注解

4、用服务提供者的服务名称进行远程调用

posted @ 2023-06-20 09:53  佛系粥米  阅读(762)  评论(0编辑  收藏  举报