搭建spring cloud微服务架构

  • 时间:
  • 浏览:1
  • 来源:大发5分快乐8_极速5分11选5

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

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

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

最后需用考虑到服务的细粒度拆分,比如:另4个 登录的模块,当当当让我们上能将所有跟登录有关系的业务进行服务化(基础信息验证;用户名、邮箱、手机验证登录;手机验证码获取;验证用户算不算绑定等等),最后针对于多服务进行服务的编排,另另4个 就做到了正在的微服务架构。

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

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

项目整个架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的另4个 核心作用,那就说 将整个项目按照模块化的办法进行划分,业务与业务之间解耦,然后将模块化的业务再进行服务化然后组件化,另另4个 上能进行任意的项目然后平台的业务移植。

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

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

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

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

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

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

这边只列出了一次责,给当当当让我们讲解一下:

commonservice-config:配置管理服务,上能把配置贴到 远程服务器然后本地库,集中化管理集群配置,当前支持本地存储、Git以及Subversion等。

以上是我在做项目或架构的或多或少经验分享给当当当让我们,闲话少说,下面讲一下整个架构的代码行态:

component:组件项目

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

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

commonservice-eureka:云端服务发现,另4个 基于 REST 的服务,用于定位服务,以实现云端里边层服务发现和故障转移(跟zookeeper注册中心同类)

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

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

注意:spring cloud还涉及到所以 的服务,这边这样 统一列出,里边会持续进行服务的集成,其中包括:Spring Cloud Sleuth(zipkin), Turbine, Hystrix, bus企业总线,Zuul,ELK等,请当当当让我们时刻关注。

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

里边是当当当让我们公司做的次责企业架构,里边都会持续完善,里边的文章会介绍如保一步步搭建公司微服务架构,请各位时刻关注。

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

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