天天看點

使用Spring-Cloud搭建微服務架構

搭建一套微服務架構的,我個人覺得必須如下子產品:

  • 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();
    }
           

未完待續~~~~