搭建spring cloud微服务架构

  • 时间:
  • 浏览:3

commonservice: 公共服务项目,上面包含了所有的针对于spring cloud的相关服务

commonservice-sso:封装统一认证入口,并且使用cas集成,当前将统一认证修改为oauth2的统一认证最好的办法 (用户登录,token认证,设备剔除,和spring security进行权限低耦合)。

component-oss:针对阿里云文件存储的组件封装。

component-utils: 针对工具包组件封装。

dealer、demo项目代表模块项目。

commonservice-cache:暴露出来的分布式缓存服务,不同系统可不可不可以 直接集成调用。

最后必须考虑到服务的细粒度拆分,比如:有有另1个登录的模块,大伙儿可不可不可以 将所有跟登录有关系的业务进行服务化(基础信息验证;用户名、邮箱、手机验证登录;手机验证码获取;验证用户否是绑定等等),最后针对于多服务进行服务的编排,原来就做到了正在的微服务架构。

component-redis:针对分布式缓存的组件封装(使用自定义注解最好的办法 ,直接注入到最好的办法 层)。

注意:spring cloud还涉及到或多或少的服务,这边越来越统一列出,上面会持续进行服务的集成,其中包括:Spring Cloud Sleuth(zipkin), Turbine, Hystrix, bus企业总线,Zuul,ELK等,请大伙儿时刻关注。

当模块项目启动的并且,微服务就会注册到eureka服务注册中心,每有有另1个微服务即是服务的生产者,又是服务的消费者。

component-base: 公共组件封装,包括:过滤器、拦截器、监听、注解,mybatis plus封装(mybatis plus要比mybatis更牛或多或少,是mybatis的升级版本,上面进行了很对于基础base的封装,包括entity,dao,service的封装和分页的封装等),数据源配置,common code封装等。

以上是我在做项目或架构的或多或少经验分享给大伙儿,闲话少说,下面讲一下整个架构的代码社会形态:

commonservice-apigateway: 完整版托管的服务,可轻松创建、发布、维护、监控和保护任意规模的api.

commonservice-mq:封装了与Rocketmq,Rabbit、Kafka等发送接收消息的服务(主或多或少我消息的生产者和消费者)。

component-rocketmq: 针对于阿里云消息上面件的组件封装。

component-notify: 针对于阿里云消息服务引擎封装。(Notify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中时会少许使用。消息系统的核心作用或多或少我三点:解耦,异步和并行)

component-swagger: 针对RESTFUL接口的文档在线自动生成+功能测试功能的组件封装。

其中每个模块项目包含对外暴露的api接口,dao 数据访问对象,service(服务端+客户端)

上面是大伙儿公司做的要素企业架构,上面时会持续完善,上面的文章会介绍怎样一步步搭建公司微服务架构,请各位时刻关注。

component-mongodb: 针对于分布式文件存储的数据库的组件封装。

项目整个架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的有有另1个核心作用,那或多或少我将整个项目按照模块化的最好的办法 进行划分,业务与业务之间解耦,或多或少我将模块化的业务再进行服务化或多或少我组件化,原来可不可不可以 进行任意的项目或多或少我平台的业务移植。

文章来源:搭建spring cloud微服务架构-项目社会形态介绍 - 开源中国社区

commonservice-eureka:云端服务发现,有有另1个基于 REST 的服务,用于定位服务,以实现云端上面层服务发现和故障转移(跟zookeeper注册中心这种)

component:组件项目

在搭建环境并且,首先根据公司的业务定义微服务架构的代码社会形态,或多或少我考虑到不同行业,不同领域,不同业务,我这边针对于所有行业做通用的架构模式。

commonservice-config:配置管理服务,可不可不可以 把配置里装远程服务器或多或少我本地库,集中化管理集群配置,当前支持本地存储、Git以及Subversion等。

这边只列出了一要素,给大伙儿讲解一下: