Spring Cloud Center for Aditum. Aditum微服务架构中心.
模块 | 功能 | 环境 | 端口号 |
---|---|---|---|
cloud-eureka | 服务发现注册中心 | 生产 | 10001 |
cloud-gateway | API统一网关服务 | 生产 | 10002 |
cloud-monitor | 服务状态监控 | 生产 | 10003 |
cloud-auth | 服务权限认证 | 生产 | 10004 |
cloud-data | 服务数据库访问 | 生产 | 10005 |
cloud-stream | 消息队列 | 生产 | 10006 |
cloud-track | 链路跟踪 | 生产 | 10007 |
cloud-metric | 告警服务 | 生产 | 10008 |
cloud-client | 服务注册中心客户端 | 测试Eureka注册服务 | 20001 |
cloud-consume | 服务消费者 | 测试微服务流程-调用服务 | 20002 |
cloud-produce | 服务生产者 | 测试微服务流程-提供服务 | 20003 |
- 启动 Eureka-Server 服务注册中心
- 启动其他服务(顺序任意,但推荐先启动生产项目)
- 浏览器输入 localhost:20002/consume/{任意字符串} 即可访问 Consume-Service 调用 Produce-Service 的返回结果
- 输入localhost:10002/consume-service/consume/{string} 即可通过API网关访问 Consume-Service 调用 Produce-Service 的返回结果
- 输入http://localhost:10003/hystrix 进入监控中心
为Aditum微服务架构提供一个管理平台,首先采用单机云服务器部署,能够通过http维护管理所有的Aditum微服务
采用Apollo实现配置中心服务端,替代springcloud-config,在此项目中不再进行config服务端实现。
apollo配置中心地址:云主机IP:8080
实现springcloud-eureka服务端,各个微服务通过http进行服务注册发现。
Eureka服务发现中心地址:http://通过APOLLO获取地址/eureka/ (默认为localhost)
引入相关依赖,启用 @EnableHystrixDashboard @EnableCircuitBreaker @EnableHystrix 三个注解,通过引入监控的项目,通过ip:port/hystrix 访问,然后输入 ip:port/hystrix.stream 进行监控
API网关是一个服务器,可以说是进入系统的唯一节点,封装了内部系统的架构,并且提供了API给各个客户端。
负责请求转发、合成、协议转换。先网关,在负载均衡到对应的微服务。
将Feign类路径统一映射为API网关地址,在方法中映射不同的微服务的路径,从而实现API网关的统一请求管理。
启用注解 @EnableDiscoveryClient ,注册为客户端
通过类RestTemplate进行服务调用,可使用 服务名/服务ip地址 进行REST接口调用
通过 @EnableFeignClients 启用服务。通过 @FeignClient("服务名") 定义接口,通过注解方法进行远程调用。
通过在RestTemplate类上注解 @LoadBalanced 即可实现负载均衡(注解已包含在Eureka客户端中)
需要额外引入hystrix依赖,使用 @EnableCircuitBreaker 开启断路器功能
在远程调用方法上使用 @HystrixCommand(fallbackMethod = 断路方法名) 进行异常时逻辑处理
例如:func : {return "服务不可用,请稍后再试!"}