当前的分布式微服务云架构平台使用 Maven 构建, 所以 common-service 的通用服务按照 maven 构建独立的系统服务, 结构如下:
particle-commonservice: spring cloud 系统服务根项目, 所有服务项目的根依赖.
particle-commonservice-admin: spring cloud/boot 的微服务管理, 监控平台 (里面会集成很多的组件服务项目)
particle-commonservice-apigateway:API 网关通用服务项目, 所有的请求首先会经过这个网关. 有点类似于前端控制器模式, 也有点类似于 Facade 模式. 由于所有的请求会先经过这个 API 网关, 所以可以在这里做权限控制, 安全, 负载均衡, 请求分发, 监控等等. 以下的一张图片是从网上找的, 方便大家理解:
particle-commonservice-cache: 针对于分布式缓存提供服务化项目, 封装分布式缓存 Redis 等.
particle-commonservice-config: 提供独立的微服务配置管理项目项目. 配置管理工具包, 让你可以把配置放到远程服务器, 集中化管理集群配置, 目前支持本地存储, Git 以及 Subversion.
particle-commonservice-erueka: 提供独立的微服务服务发现, 注册管理平台. 云端服务发现, 一个基于 REST 的服务, 用于定位服务, 以实现云端中间层服务发现和故障转移.
particle-commonservice-mq: 提供独立的消息中间件服务平台. 包括对流行的阿里 rocketmq,rabbit mq,kafka 分布式消息中间件的服务管理 (这里集成了多种方案, 供使用者选择).
particle-commonservice-sso: 提供统一用户登录, 认证单点登录平台. 使用第三方 OAuth2.0 的解决方案, 通过组织在资源拥有者和 HTTP 服务商之间的被批准的交互动作代表用户, 允许第三方应用代表用户获得访问的权限. 同时为 web 应用, 桌面应用和手机提供统一认证登录服务.
particle-commonservice-turbine: 是聚合服务器发送事件流数据的一个工具, 用来监控集群下 hystrix 的 metrics 情况, 提供独立的服务项目.
particle-commonservice-zipkin: 提供独立的服务项目, 为 SpringCloud 应用实现了一种分布式追踪解决方案. 分布式跟踪系统数据流主要分为三个步骤: 采集, 发送和落盘分析, Zipkin 官网给出的设计图, 方便大家理解:
从现在开始, 我这边会将近期研发的 spring cloud 微服务云架构的搭建过程和精髓记录下来, 帮助更多有兴趣研发 spring cloud 框架的朋友, 大家来一起探讨 spring cloud 架构的搭建过程及如何运用于企业项目.
完整项目的源码来源 http://minglisoft.cn/honghu/tech.html
来源: http://www.bubuko.com/infodetail-2881454.html