SpringCloud 기본 원리
8014 단어 SpringCloud
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.boot
spring-boot-starter-test
test
3> 프로젝트 프로필 응용 프로그램.yml에서 eureka 등록 센터 설정 설정
server:
#
port: 8888
eureka:
instance:
#eureka
hostname: localhost
client:
# eureka :
registerWithEureka: false
# eureka :
fetchRegistry: false
serviceUrl:
#eureka
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
4> 프로젝트 포털 함수에서 등록 센터 @EnableEurekaServer 활성화
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
5> 프로젝트 시작, 등록 센터 액세스http://localhost:8888/
*********************Eureka 서버 공급자 단계: 6단계*************1>SpringBoot 프로젝트 만들기 2>pom.xml 파일에 Eureka 클라이언트를 도입하여spring-cloud-starter-eureka 설정SpringCloud의 하위 프로젝트 버전 집중 관리spring-cloud-dependencies 설정SpringCloud 공식 원격 창고https://repo.spring.io/milestone
org.springframework.cloud
spring-cloud-starter-eureka
3> 프로젝트 프로필 응용 프로그램.yml에서 eureka 설정
eureka:
client:
serviceUrl:
#eureka
defaultZone: http://localhost:8888/eureka/
server:
#
port: 8002
spring:
application:
# ,
name: service-provider
4> 컨트롤러 서비스 쓰기
@RestController
public class UserController {
@Value("${server.port}")
private String serverPort;
/**
* http://localhost:8002/getFuture
* @return
*/
@RequestMapping("/getFuture")
public List getFuture() {
List list = new ArrayList<>();
list.add(" , ;");
list.add(" , 。");
list.add(" :"+serverPort);
return list;
}
5> 프로젝트 포털 함수에서 등록 센터 클라이언트 @EnableEurekaClient 활성화
@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
Sp
6> 프로젝트 액세스 시작http://localhost:8002/getFuture프로젝트 시작 성공 등록 센터 방문 설명http://localhost:8888/등록 센터에 서비스-provider 서비스가 등록되어 있는 것을 보았습니다*****************Eureka 서버 소비자 RestTemplate 단계: 7단계**************1>SpringBoot 프로젝트 만들기 2>pom.xml 파일에 Eureka 클라이언트를 도입하여spring-cloud-starter-eureka 설정SpringCloud의 하위 프로젝트 버전 집중 관리spring-cloud-dependencies 설정SpringCloud 공식 원격 창고https://repo.spring.io/milestone
org.springframework.cloud
spring-cloud-starter-eureka
3> 프로젝트 프로필 응용 프로그램.yml에서 eureka 설정
eureka:
client:
serviceUrl:
#eureka
defaultZone: http://localhost:8888/eureka/
server:
#
port: 8001
spring:
application:
# ,
name: service-consumer
4> Spring 컨테이너에 RestTemplate 객체 추가
@Configuration
public class SpringConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
5> 서비스 계층에 RestTemplate 객체 자동 주입 eureka 등록 센터의 원격 서비스 호출
@Service
public class ConsumerService {
@Autowired
private RestTemplate restTemplate;
public List getProviderFuture() {
return restTemplate.getForObject("http://service-provider/getFuture",
List.class);
}
}
6> 디렉터 레이어를 작성하여 이전 서비스 레이어 호출
@Autowired
private ConsumerService consumerService;
/**
* http://localhost:8001/getProviderFuture
* @return
*/
@RequestMapping("/getProviderFuture")
public List getProviderFuture(){
return consumerService.getProviderFuture();
}
7> 프로젝트 포털 함수에서 eureka 클라이언트 @EnableEurekaClient 활성화
@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
프로젝트 시작, 액세스http://localhost:8001/getProviderFuture비교 서비스 제공자http://localhost:8002/getFuture*********************Eureka 서버 소비자 Feign 단계: 6단계*************1>SpringBoot 프로젝트 만들기 2>pom.xml 파일에 유레카 클라이언트 도입spring-cloud-starter-eureka 도입Feign 의존spring-cloud-starter-feign 설정 SpringCloud의 하위 프로젝트 버전 집중 관리 의존spring-cloud-dependencies 설정 SpringCloud 공식 원격 창고https://repo.spring.io/milestone
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-feign
3> 프로젝트 프로필 응용 프로그램.yml에서 eureka 설정
eureka:
client:
serviceUrl:
#eureka
defaultZone: http://localhost:8888/eureka/
server:
#
port: 8001
spring:
application:
# ,
name: service-consumer
4> 서비스 층에서 인터페이스, 추상적인 방법을 작성하고 각각 @FeignClient, @RequestMapping을 사용하여 원격 서비스 이름, 서비스 맵을 설명한다.
@FeignClient("service-provider")
public interface ConsumerService {
@RequestMapping("/getFuture")
public List getProviderFuture();
}
5> 컴파일 컨트롤러층이 자동으로 이전 인터페이스 형식 bean에 주입
@RestController
public class ConsumerController {
@Autowired
private ConsumerService consumerService;
/**
* http://localhost:8001/getProviderFuture
* @return
*/
@RequestMapping("/getProviderFuture")
public List getProviderFuture(){
return consumerService.getProviderFuture();
}
6> 프로젝트 입구 함수에서 eureka 클라이언트 @EnableEurekaClient feign 클라이언트 @EnableFeignClients 활성화
@EnableFeignClients
@EnableEurekaClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
프로젝트 시작, 액세스http://localhost:8001/getProviderFuture비교 서비스 제공자http://localhost:8002/getFuture부하 균형spring-cloud-starter-ribbon, SpringCloud는 기본적으로 리본을 부하 균형 구성 요소로 사용합니다. 서비스provider 서비스가 집단 서비스일 때 RestTemplate 호출은 아무런 처리도 하지 않고 @LoadBalanced는 자동으로 부하 균형을 실현합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringCloud OAuth2 + JWT 인증 인증(一) 인증 서버Spring Cloud oAuth2(1) 라이센스 서버 구축 및 액세스 Spring Cloud oAuth2(2) 리소스 서버 구축 및 테스트 SpringCloud OAuth2 + JWT 인증 인증(一) 인증 서버 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.