版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_39800144/article/details/84426158
本文,讲述如何将一个服务注册到eureka注册中心,主要分为以下几个步骤:
- 1.新建项目
- 2.引入eureka依赖
- 3.添加注解
- 4.修改配置文件
- 5.新建一个controller,提供一个服务接口
- 6.启动项目
由于后续需要演示负载均衡,这里会创建两个项目company_server1,company_server2,这两个项目提供完全相同的服务,注册到注册中心时,使用相同的服务名称company-server,由于是两个服务,所以项目的端口是不同的,其他相同。具体步骤如下:
1.新建项目
新建一个SpringBoot项目company_server1。
2.引入eureka依赖
eureka-client依赖:
<!--eureka client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
springcloud依赖,在 标签外面:
<!--springcloud依赖管理-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
3.添加注解
在启动类添加注解@EnableEurekaClient,将项目启动为一个以eureka做注册中心的服务。
@EnableEurekaClient
@SpringBootApplication
public class CompanyServer1Application {
public static void main(String[] args) {
SpringApplication.run(CompanyServer1Application.class, args);
}
}
4.修改配置文件
server:
port: 8011
spring:
application:
name: company-server
eureka:
client:
service-url:
default: http://localhost:8761/eureka
name: company-server,就是把此项目注册到注册中心时,服务名为company-server,后面其他项目,通过这个服务名称,就能找到这个服务,而不需要通过ip:port。
5.新建一个controller,提供一个服务接口
我们新建一个controller包,下面建一个CompanyController,里面写一个服务接口,对外提供服务,代码如下:
@RestController
@RequestMapping("company")
public class CompanyController {
@Value("${server.port}")
String port;
@GetMapping("get")
public String getCompany(Integer id){
return "port:"+port+",企业信息为:阿里巴巴"+id;
}
}
6.启动项目
启动项目,会发现项目注册到了注册中心上:
访问接口http://localhost:8011/company/get?id=2,发现接口也可以提供服务。
然后我们再写一个相同的服务,步骤和上面一样,端口改为8014,注册时,服务名和上面一样,也是company-server,提供相同的服务,方便后面演示负载均衡。