我们的所用的SPRING CLOUD微服务运行架构如下:
image.png
系统在生产环境统一通过docker swarm 运行,分为3个层:
- middleware 层(中间件层):db server, redis server, file server, mq server 等
- infra 层(微服务基础设施层): spring cloud 微服务基础设施,如 eureka, spring cloud config, oauth2 server, admin, zipkin等
- ms-app 层(微服务应用层): 业务逻辑微服务,如用户微服务、运单微服务等
以上顺序由上到下进行启动,在 ms-infra 层面,优先启动服务发现(eureka server,对应图中的 service discovery server),随后 config server 也在服务中心进行注册。
这种做法的优点是微服务启动方式很简单,只需要基于 service discover 及 config server 的运行基础上,即可加载微服务配置及启动微服务。
以下是微服务的配置文件 bootstrap.yml 说明,通过以下配置即可完成微服务的注册、服务发现、配置寻找
spring:
application:
name: foo # 当前微服务名称
cloud:
config:
enabled: true # 启用配置中心
fail-fast: true # 快速失败
discovery:
enabled: true # 启用通过服务发现查找配置中心
serviceId: config-server # 配置中心在服务发现中的service id
网友评论