搭建一套微服務架構的,我個人覺得必須如下子產品:
- config-service
- api-gateway
- circuit-breaker
- registry
- monitor
- ***-service
第一步建構config-service,登入http://start.spring.io/,選擇gradle、maven,基礎資訊,更重要是選擇所需要依賴的
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
如果你需要自定義端口以及repo位址,這裡我申明了端口事8877,repo采用本地,假設你後續CI,可以通過讀取url位址,這裡不用native,是需要git.uri位址
spring:
cloud:
config:
server:
native:
search-locations: classpath:/profiles
server:
port: 8877
建構完畢後,第一config-service就完成了
建構registry-service,很重要的一點EnableEurekaServer
spring:
application:
name: registry
cloud:
config:
uri: http://localhost:8877
fail-fast: true
password: 123456
username: user
eureka:
instance:
prefer-ip-address: true
client:
registerWithEureka: false
fetchRegistry: false
server:
waitTimeInMsWhenSyncEmpty: 0
如何解決熔斷器呢?可以通過fallbackmethod方式
@Override
@HystrixCommand(groupKey = "say", fallbackMethod = "fallBackCall")
public String ping() {
return service2.ping();
}
未完待續~~~~