이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
개발자는 확장 가능하고 탄력적인 애플리케이션을 구축하는 방법으로 점점 더 마이크로서비스로 전환하고 있습니다. 마이크로서비스는 대규모 애플리케이션이 작고 독립적인 서비스 집합으로 구축되는 일종의 소프트웨어 아키텍처입니다.
Spring Boot는 Java에서 마이크로서비스를 구축하기 위한 인기 있는 프레임워크입니다. 이번 포스트에서는 마이크로서비스가 무엇이고 Spring Boot를 사용하여 마이크로서비스를 구축하는 방법에 대해 살펴보겠습니다.
마이크로서비스는 대규모 애플리케이션이 작고 독립적인 서비스 집합으로 구축되는 일종의 소프트웨어 아키텍처입니다. 각 서비스에는 특정 목적이 있으며 독립적입니다.
마이크로서비스는 일반적으로 Amazon Web Services(AWS) 또는 Microsoft Azure와 같은 클라우드 플랫폼에 배포됩니다. 온프레미스에도 배포할 수 있습니다.
마이크로서비스는 일종의 분산 시스템입니다. 확장하기 쉽고 서로 독립적으로 배포할 수 있습니다.
마이크로서비스를 사용하면 다음과 같은 몇 가지 이점이 있습니다.
마이크로서비스 사용에는 몇 가지 단점도 있습니다.
Spring Boot는 마이크로서비스 구축에 널리 사용되는 프레임워크입니다. Java Spring 프레임워크를 기반으로 합니다.
Spring Boot를 사용하면 독립 실행형 프로덕션 등급 Spring 기반 애플리케이션을 쉽게 만들 수 있습니다. 그것은 Spring 플랫폼에 대한 독단적인 견해를 취하며 그렇지 않으면 필요할 모든 상용구 코드 및 구성을 제거합니다.
Spring Boot는 또한 마이크로서비스를 쉽게 만들 수 있게 해줍니다. 마이크로서비스를 패키징하고 배포하는 간단한 방법을 제공합니다.
Maven 또는 Gradle을 사용하여 마이크로서비스를 패키징할 수 있습니다. Maven은 대부분의 Java 애플리케이션을 위한 빌드 도구입니다.
Maven을 사용하여 마이크로서비스를 패키징하려면 pom.xml 파일을 생성해야 합니다. 이 파일에는 Maven 빌드에 대한 구성이 포함되어 있습니다.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>My Service</name>
<description>My Service is a microservice that does something.</description>
<url>http://www.example.com/</url>
<scm>
<connection>scm:git:http://github.com/example/my-service.git</connection>
<developerConnection>scm:git:http://github.com/example/my-service.git</developerConnection>
<tag>HEAD</tag>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MyService</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
이 파일은 프로젝트, 해당 종속성 및 빌드 방법을 정의합니다. 요소는 Maven에게 이것이 JAR 파일임을 알려줍니다. 및 요소는 마이크로 서비스에 대한 이름과 설명을 제공합니다. 요소는 프로젝트의 소스 제어 관리(SCM)를 정의합니다. 요소는 프로젝트를 빌드하는 방법을 정의합니다.
요소에는 Maven 플러그인 목록이 포함되어 있습니다. 요소는 Maven 플러그인을 정의합니다. 및 요소는 플러그인을 식별합니다. 요소는 플러그인의 버전을 지정합니다.
요소에는 플러그인에 대한 구성이 포함되어 있습니다. 요소는 JAR 파일에 대한 구성을 포함합니다. 요소에는 매니페스트 파일에 대한 구성이 포함되어 있습니다. 요소는 마이크로서비스의 기본 클래스를 지정합니다.
AWS 또는 Azure와 같은 클라우드 플랫폼을 사용하여 마이크로서비스를 배포할 수 있습니다. 온프레미스에 배포할 수도 있습니다.
AWS에 마이크로서비스를 배포하려면 AWS 계정을 만들고 Virtual Private Cloud(VPC)를 설정해야 합니다. 그런 다음 Amazon Elastic Compute Cloud(EC2) 인스턴스를 생성하고 여기에 마이크로서비스를 배포할 수 있습니다.
Azure에 마이크로서비스를 배포하려면 Azure 계정을 만들고 가상 네트워크를 설정해야 합니다. 그런 다음 Azure Virtual Machine을 만들고 여기에 마이크로서비스를 배포할 수 있습니다.
이번 포스트에서는 마이크로서비스가 무엇이고 Spring Boot를 사용하여 마이크로서비스를 어떻게 구축하는지 살펴보았습니다. 또한 마이크로서비스를 패키징하고 배포하는 방법도 살펴보았습니다.