搭建一套微服务架构的,我个人觉得必须如下模块:
- 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();
}
未完待续~~~~