1. 程式人生 > >SpringCloud教程(Finchley版本)-02:服務消費者

SpringCloud教程(Finchley版本)-02:服務消費者

本文,講述如何將一個服務註冊到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,提供相同的服務,方便後面演示負載均衡。