註冊服務提供者
在上一篇文章中我們搭建了一個高可用的服務註冊中心,既然服務註冊中心搭建完成,那麼空有一個註冊中心毫無意義,重要的是提供服務,所以我們現在可以嘗試像註冊中心註冊一個服務的提供者,依舊類似於之前的方式生成一個SpringBoot項目,我們新建一個hello-service項目當作服務的提供者,build.gradle文件中稍作修改,加入如下依賴
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
爲了測試服務提供效果,我們簡單的寫一個HelloController,通過接口返回一個hello字符串即可
@RestController
public class HelloController {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private DiscoveryClient client;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
return "Hello World";
}
}
最後在啓動類加上註解@EnableDiscoveryClient,這樣代碼我們就完成了,但是到這裏還不夠,既然是要將服務提供者註冊到服務註冊中心,那麼首先肯定要讓提供者知道像哪裏註冊,所以還需要在application.properties中配置一下注冊中心的url
server.port=2222
spring.application.name=hello-service
eureka.client.service-url.defaultZone = http://peer1:1111/eureka/,http://peer2:1112/eureka/
這裏我們指定了端口號爲2222,服務名字爲hello-service以及剛剛搭建的eureka,這裏完成後我們可以啓動一下hello-service項目,當然在啓動之前,別忘了先將我們之前搭建好的服務註冊中心先啓動,在啓動日誌中應該可以看到如下信息,說明我們的服務已經註冊成功了,同時在註冊中心管理頁面http://localhost:1111 和 http://localhost:1112 中Instances currently registered with Eureka一欄中應該可以看到我們hello-service的註冊信息了
DiscoveryClient_HELLO-SERVICE/{#localIP}:hello-service:2222: registering service...
DiscoveryClient_HELLO-SERVICE/{#localIP}:hello-service:2222 - registration status: 204
Tomcat started on port(s): 2222 (http) with context path ''
Updating port to 2222
Started HelloServiceApplication in 6.352 seconds (JVM running for 16.223)
那麼至此,我們就擁有了一個高可用的服務註冊中心,並將一個服務註冊成功,可以說,一個最簡單微服務系統已經搭建了