Java小强个人技术博客站点    手机版
当前位置: 首页 >> 开源 >> SpringBoot搭建Eureka注册中心

SpringBoot搭建Eureka注册中心

43261 开源 | 2022-1-29

1、Spring-Cloud Euraka介绍

Spring-Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架。它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 还集成了Zookeeper和Consul。

在项目中使用Spring Cloud Euraka的原因是它可以利用Spring Cloud Netfilix中其他的组件,如zull等,因为Euraka是属于Netfilix的。

2、Euraka介绍

Eureka由多个instance(服务实例)组成,这些服务实例可以分为两种:Eureka Server和Eureka Client。为了便于理解,我们将Eureka client再分为Service Provider和Service Consumer。

Eureka Server 提供服务注册和发现

Service Provider 服务提供方,将自身服务注册到Eureka,从而使服务消费方能够找到

Service Consumer服务消费方,从Eureka获取注册服务列表,从而能够消费服务

QQ截图20220129142622.jpg


创建Server即注册中心

新建一个SpringBoot程序,POM引入

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


编写配置文件application.yml

server:
  port: 10086
spring:
  application:
    name: eurekaserver
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka

向注册中心注册自己,这里仅为演示


启动类增加注解

package cn.itcast.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * @Auther: Java小强
 * @Date: 2022/1/29 - 13:05
 * @Decsription: cn.itcast.eureka
 * @Version: 1.0
 */
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}


启动后可以打开http://localhost:10086/查看页面


QQ截图20220129142143.jpg


客户端

这个客户端可能是服务者或者消费者,或者两者都是

POM引入

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


配置文件增加

eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka


在上文中使用RestTemplate时,我们的URL是IP+端口的,这里修改下增加@LoadBalanced注解

@Bean
@LoadBalanced
public RestTemplate restTemplate() {
	return new RestTemplate();
}

使用时,把IP端口改为服务名即可

public Order queryOrderById(Long orderId) {
	// 1.查询订单
	Order order = orderMapper.findById(orderId);

	String url = "http://userserver/user/{userId}";
	Map<String, Object> para = new Hashtable<>();
	para.put("userId", order.getUserId());
	User user = restTemplate.getForObject(url, User.class, para);
	order.setUser(user);

	// 4.返回
	return order;
}


完成简单使用示例。

推荐您阅读更多有关于“ 注册 服务 springboot pom Eureka ”的文章

上一篇:Windows安装Nacos 下一篇:Spring中RestTemplate用法

猜你喜欢

发表评论:

评论:

回复 Java小强 评论于 2022-01-29 14:30
这里有一个很详细的入门介绍:Spring Cloud服务注册-Eureka介绍和部署http://www.heartthinkdo.com/?p=1933