服務註冊與發現 | 上手實踐Spring Cloud Eureka 和 Feign(二)
theme: scrolls-light
這是我參與11月更文挑戰的第9天,活動詳情檢視:2021最後一次更文挑戰
上一篇文章《上手實踐Spring Cloud Eureka 和 Feign(一)》講到了服務註冊與發現的簡單概念,這篇文章直接上手實踐Eureka,啟動一個服務註冊中心,以及將業務服務註冊到這個中心上。
二、Eureka
Eureka作為Spring Cloud的服務註冊中心,我們需要引入Spring Cloud相關的依賴,其次我們需要啟動一個Eureka註冊服務中心,最後為了驗證服務註冊的功能,需要啟動一個web 服務註冊到註冊中心。
2.1 Eureka的Spring Cloud 依賴
首先,我們將建立一個新的 Maven pom 專案模組,並將Spring Cloud的的依賴放入,這個依賴將決定Spring Cloud 相關元件Starter的版本。
```maven
2.2 註冊中心
我們新建一個子模組管理Eureka的註冊中心服務,在這裡要引入Eureka的Server依賴包。
maven
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
然後寫一個啟動類Launcher
,目的是把服務啟動起來,包含的內容如下。
```java
@SpringBootApplication
@EnableEurekaServer
public class Launcher {
public static void main(String[] args) {
SpringApplication.run(Launcher.class,args);
}
}
`application.yml`的配置資訊如下。
properties
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
``
此時啟動服務,瀏覽器上訪問URL
http://{yourhost}:8761`,如下圖所示,表示服務註冊中心啟動成功,能提供服務註冊和發現的功能。
2.3 服務提供方
在有了服務註冊中心後,我們可以啟動一個服務去註冊到服務註冊中心,這些服務都統統成為Eureka Client,所以要引入Client相關的依賴。
maven
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
我們提供一個簡單的greeting
api介面。
```java
public interface GreetingController {
@GetMapping("/greeting")
String greeting();
}
然後在啟動類`Launcher`去實現這個介面。
java
@SpringBootApplication
@RestController
public class Launcher implements GreetingController {
@Autowired
@Lazy
private EurekaClient eurekaClient;
@Value("${spring.application.name}")
private String appName;
@Override
public String greeting() {
return String.format(
"Hello from '%s'!", eurekaClient.getApplication(appName).getName());
}
public static void main(String[] args) {
SpringApplication.run(Launcher.class,args);
}
}
``
配置檔案
application.yml`的內容如下。
```yml spring: application: name: spring-cloud-eureka-client
server: port: 0 eureka: client: serviceUrl: defaultZone: ${EUREKA_URI:http://localhost:8761/eureka} instance: preferIpAddress: true ``` 然後啟動這個服務,觀察Eureka的服務管理頁面,可以看到有服務註冊成功。
此時,服務的提供方也準備好了,接下來就需要去消費這個服務了。
少年,沒看夠?點選石頭的主頁,隨便點點看看,說不定有驚喜呢?歡迎支援點贊/關注/評論,有你們的支援是我更文最大的動力,多謝啦!
- 速度!快速臨時解決Log4j驚天漏洞
- Git | 你也許遇到過Commit操作這些問題!
- Git 分支操作一些問題應對之法
- Java8 | 如何使用Group By 聚合操作集合資料?
- Java8 | 如何優雅地初始化Map & List2Map ?
- Lombok你也許不知道的 @Builder 坑坑!
- PostgreSQL如何自動更新時間戳?
- Hi,你想要的線上建立架構圖都在這兒!(五)
- Hi,你想要的線上建立架構圖都在這兒!(四)
- Hi,你想要的線上建立架構圖都在這兒!(三)
- Hi,你想要的線上建立架構圖都在這兒!(二)
- Hi,你想要的線上建立架構圖都在這兒!(一)
- 服務註冊與發現 | 上手實踐Spring Cloud Eureka 和 Feign(三)
- 服務註冊與發現 | 上手實踐Spring Cloud Eureka 和 Feign(二)
- 服務註冊與發現 | 上手實踐Spring Cloud Eureka 和 Feign(一)
- 手把手教 | Docker Compose 快速啟動pgAdmin
- 手把手教 | Docker Compose快速啟動Postgres
- 人臉識別 | Hi 你說,彭于晏是貓咪還是人,還是?
- Terraform | 基於Azure上使用模組(五)
- Terraform | 基於Azure上使用模組(四)