在Ubuntu上搭建Java微服務架構涉及多個步驟和技術棧。以下是一個詳細的指南,幫助你構建和部署一個Java微服務架構。
sudo apt-get update
sudo apt-get install openjdk-11-jdk
sudo nano /etc/profile
添加以下內容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
使修改生效:
source /etc/profile
java -version
常用的Java框架包括Spring Boot和Spring Cloud,它們提供了服務發現、負載均衡、配置管理等功能。
pom.xml
文件。在application.properties
文件中配置Eureka客戶端:
spring.application.name=my-service
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
添加Eureka服務器依賴項到pom.xml
:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
在主類上添加@EnableEurekaServer
注解:
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
配置Eureka服務器:
server.port=8761
eureka.instance.hostname=localhost
添加Eureka客戶端依賴項到pom.xml
:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
配置服務提供者:
spring.application.name=my-service-provider
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
FROM openjdk:11
COPY target/my-service.jar /app/my-service.jar
EXPOSE 8080
CMD ["java", "-jar", "/app/my-service.jar"]
docker build -t my-service .
docker run -d -p 8080:8080 --name my-service my-service
創建docker-compose.yml
文件:
version: '3'
services:
my-service:
image: my-service
ports:
- "8080:8080"
運行:
docker-compose up