이전 과정에서, 우리는 네 개의 프로젝트를 만든 :
서비스 발견
우리는 배우고, 서비스 검색 구성 요소로 유레카를 사용 Eureka Server
, Eureka Client
사용합니다.
-
유레카 서버
- 플러스 의존
<dependency> <groupId>org.springframework.cloud</groupId> <!--<artifactId>spring-cloud-netflix-eureka-server</artifactId>--> <artifactId>spring-cloud-starter-eureka-server</artifactId> <version>1.2.7.RELEASE</version> </dependency>
- 코멘트를 추가
@SpringBootApplication @EnableEurekaServer public class DiscoveryApplication { public static void main(String[] args) { SpringApplication.run(DiscoveryApplication.class, args); } }
- 변경 구성
eureka: instance: hostname: server1 prefer-ip-address: false client: service-url: defaultZone: http://server2:8888/eureka/,http://server3:9999/eureka/
스프린트 부트 프로젝트 부작을 사용하여, 우리는 신속하게 새로운 구성 요소 및 정상적인 사용을 추가 할 수 있습니다
-
Nacos 서버
나는이 프로젝트에 달성하지 않은,하지만 우리는 할 수 있고 유레카 같은 부작을 얻을.
- 플러스 의존도 (때문에 SC 알리바바 졸업 영향은 다음 알리바바 저장소에 봄 - 클라우드 가족 의존성에서 이동합니다, 따라서 모든 사람들 학습에 의존, 버전 정보에주의를 지불해야합니다, GitHub의 포털 )
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.9.0.RELEASE</version> </dependency>
-
코멘트를 추가
이전 버전에서는, 우리는 추가해야
@EnableDiscoveryClient
하지만, nacos 0.9 이후, 우리는 주석이 ~ 표시 추가 할 필요가 없습니다, 그래서이 단계는 무시 될 수있다. - 변경 구성
spring: cloud: nacos: discovery: server-addr: localhost:8848 #前提是要启动Nacos Server metadata: version: v1 # 指定namespace(profile) #namespace: 404060ce-2e6c-4f72-8083-2beb4ca921ad # 指定集群名称 cluster-name: BJ
Nacos 서버는 참조 할 수 있습니다, 자신의 검색하십시오 Nacos Github에서를
게이트웨이 라우팅
- 플러스 의존도 (게이트웨이도 등록 할 필요가 있기 때문
服务发现
에, 그래서 또한 클라이언트, 우리가 소개합니다spring-cloud-starter-netflix-eureka-client
)
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
- 코멘트를 추가
/**
* @SpringCloudApplication 是以下三个注解的组合注解
* @see SpringBootApplication // 标柱是Spring Boot 项目启动
* @see EnableDiscoveryClient // 标柱为服务发现 client,引入Eureka依赖之后 等同于 @EnableEurekaClient
* @see EnableCircuitBreaker // 断路器,后续我们会讲解
*/
@SpringCloudApplication
@EnableZuulProxy //启动网关代理服务
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
- 변경 구성
zuul:
# ignored-services: '*' # 过滤所有请求,除了下面routes中声明过的服务
routes:
sponsor: #在路由中自定义服务路由名称
path: /ad-sponsor/**
serviceId: mscx-ad-sponsor #微服务name
strip-prefix: false
search: #在路由中自定义服务路由名称
path: /ad-search/**
serviceId: mscx-ad-search #微服务name
strip-prefix: false
prefix: /gateway/api
strip-prefix: true #不对 prefix: /gateway/api 设置的路径进行截取,默认转发会截取掉配置的前缀
소스 코드를 참조하여 특정 코드.
공통 코드베이스
이 사실은, 그것은이 라인에 프로젝트, 아무것도 특별한 요구에 도구로 사용할 수 있습니다.
광고 전달 시스템
우리는이 기술을 사용하는 프로젝트는 다음과 같습니다
- MySQL의 8
- 유레카 클라이언트
- ORM 코드의 데이터베이스와 상호 작용할 수 있습니다
jpa
- 이동 경로 (데이터베이스 버전 관리 도구)
기술을 추가 도움이 필요하세요?
- 척하기 (마이크로 - 서로 다른 서비스를 호출)
- 리본 (라는 클라이언트로드 밸런싱)
- hystrix (내결함성 및 흐름 제어 서비스 관리)
각 기술이 구현 및 프레임 워크의 완전한 세트를 가지고, 학생들이 깊이 자신의 인덱스를 공부하고자, 후 광고 시스템 후에, 나는 다른 시리즈를 재생됩니다 우리는 기본이되는 구현의 프레임 워크를 논의 할 수 있습니다.