클라우드 서버
Chapter 01. MSA 기본 개념
1. Antifragile system 개념
(1) Antifragilesystem (강건한 system) 구축의 필요성
항목 | 내용 |
Autoscaling | 자동으로 server 운영개수 확장, 축소 지원 |
MicroService | 작은 단위의 개별적 Module 운영, 작은 Service간 연동 |
Chaos Engineering | SW 안정적운영, 규칙, 실행방법 등 불확실 System 안정적 운영 |
Continuous Deployments | Continuous Integration , Continuous Develivery |
- 강건한 system 구축을 위한 Cloud Native Architecture 적용이 필요
spring cloud 서버 만들기 (-> 돌아가는 로직은 똑같아서 세팅하는 방법만 배울 것이다.)
Spring Starter Project | oBootMSADiscoveryService |
package | oBootMSADiscoveryService |
class | OBootMsaDiscoveryServiceApplication.java |
package com.oracle.oBootMSADiscoveryService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class OBootMsaDiscoveryServiceApplication {
public static void main(String[] args) {
SpringApplication.run(OBootMsaDiscoveryServiceApplication.class, args);
}
}
Console |
- 유레카서버라고 지정해준다.
-> 마이크로 서비스들을 등록할 수 있는 유레카 서버
Spring Starter Project | oBootMSADiscoveryService |
package | resources |
yml | application.yml |
server:
port: 8761
spring:
application:
name: service-discovery
eureka:
client:
register-with-eureka: false #클라이언트가 유레카 서비스에 자신을 등록하지 않음
fetch-registry: false # 레지스트리 정보를 클라이언트 로컬에 캐싱하지 않음. 유레카 클라이언트가 유레카 서비스에 등록 시 설정 가능
service-url:
defaultZone: http://localhost:8761/eureka/
Console |
|
- yml 만들어주기
com.oracle.oBootMSAUserService01.controller
com.oracle.oBootMSAUserService01.vo
패키지 만들기
Spring Starter Project | oBootMSAUserService01 |
package | oBootMSAUserService01 |
class | OBootMsaUserService01Application |
package com.oracle.oBootMSAUserService01;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class OBootMsaUserService01Application {
public static void main(String[] args) {
SpringApplication.run(OBootMsaUserService01Application.class, args);
}
}
Console |
Spring Starter Project | oBootMSAUserService01 |
package | resources |
yml | application.yml |
server:
port: 0 #서버를 랜덤하게 알아서 할당해주게끔
spring:
application:
name: user-service01
eureka:
instance:
instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://127.0.0.1:8761/eureka/
greeting:
message: welcome to MSA
Console |
Spring Starter Project | oBootMSAUserService01 |
package | oBootMSAUserService01.vo |
class | Greeting |
package com.oracle.oBootMSAUserService01.vo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import lombok.Data;
@Component
@Data
public class Greeting {
@Value("${greeting.message}")
private String message;
}
Console |
- yml에서 message값을 넣고 싶을 때,
Spring Starter Project | oBootMSAUserService01 |
package | oBootMSAUserService01.vo |
class | Dept |
package com.oracle.oBootMSAUserService01.vo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class Dept {
private int deptno;
private String dname;
private String loc;
}
Console |
Spring Starter Project | oBootMSAUserService01 |
package | oBootMSAUserService01.controller |
class | UserServiceController01 |
Console |
- Environment는 환경작업을 얘기하는 것
health_check
- 실행시키면 이 안에 들어가진다. (microservice를 추가하면 이 안에 들어가진다.)
↓
이 url로 들어가서 (포트번호 랜덤) -> /health_check를 입력해준다.
deptMessage
greetingMessage
'클라우드 데브옵스' 카테고리의 다른 글
Day74 2024.09.05.목 #코딩일기 (0) | 2024.09.05 |
---|---|
Day73 2024.09.04.수 #코딩일기 (0) | 2024.09.04 |
Day72 2024.09.03.화 #코딩일기 (0) | 2024.09.03 |
Day71 2024.09.02.월 #코딩일기 (0) | 2024.09.02 |
Day69 2024.08.29.목 #코딩일기 (0) | 2024.08.29 |