利用几天闲暇时间,将以前做的微服务项目框架重新封装了一次。封装思想参照spring目前的模块化架构。该架构中基于模块化思想,将基础框架模块化拆分成组件。在进行业务功能开发过程中,通过maven引用相应组件进行功能开发。

    如下我的github项目地址:https://github.com/jiahaos

    注意:架构图是目前粗略的架构版本,后续会进行详细迭代更新,由于之前个人感觉写的博客比较烂,所以这两天整理整理了思路,准备从系统整体架构层面学习技术的开发原理。后续会带来系统性的知识分享。

    如有兴趣结对编程者:请加微信:jiahaolove888,要求:对技术执着,有学习精神。

    如下系统架构图:

    该架构主要基于springboot框架实现微服务分布式集群架构体系。目前正在搭建基础的脚手架。后续会进行功能整合,技术整合。

    JAF微服务基础开发平台

一、架构服务说明

1、JAF基础依赖框架

     该框架所有业务服务需要引用。是个基础依赖服务

    (1)jaf-core(封装基础操作接口) : 基础依赖框架

             该框架中依赖所有操作接口类,如:消息中间件api接口

    (2)jaf-context(封装基础操作上下文对象) : 基础依赖框架

             该框架中主要封装框架用到的上下文对象,如:rest接口模版对象

2、JAF基础服务框架

      业务服务依赖框架,具体点业务服务需要什么样的功能,直接maven引用该组件框架

    (1)jaf-consul:服务发现框架

            用于服务和服务之间服务发现client,该服务端主要实现连接服务治理consul。使服务启动时自动注册到服务中心

    (2)jaf-event:消息中间件框架

            实现消息中间件api接口封装,封装消息中间件的producer和cosumer

    (3)jaf-rds-mysql:mysql线程池连接框架

            基于mysql,mybatis和druid线程池的数据源框架

    (4)jaf-rds-mongo:mongo client框架

            mongo client框架

    (5)jaf-rds-redis:redis client框架

            redis client框架

3、JAF基础工具框架

      基础工具框架,封装一些第三方服务框架。

4、JAF业务工具框架

      封装基础工具框架,由于很多组件需要业务数据或者业务功能属性支撑,所以将这部分功能组件化后,归类到业务工具框架,如鉴权的客户端服务

5、JAF基础业务框架

      封装基础业务框架,这部分是业务层拆出来的一些基础业务服务,比如微服务依赖的一些基础需求,如鉴权服务,ELK日志收集,任务调度等业务需求功能

6、业务服务

     该模块就是具体的业务功能,在这个业务功能开发过程当中会依赖JAF的相应组件,通过maven进行依赖引用。完全实现模块化思想开发

一、架构演进

    该套架构是一个初级版本,在这个版本中目前本人正在进行初步规划。目前对于架构的定位是想做成一个通用微服务快速开发平台。

    因此对于技术演进会有一下规划,这里有一些思路,并且是一个长期的规划

    1、引入springCloud全家桶。将相应比较好的组件引入其中,比如配置中心,熔断等微服务必备功能

    2、引入服务链路检查功能(zipKin),主要实现对微服务在并发情况下的调用链路检查,确认重点服务,以便后续设计人员增加对服务调用链的掌握。关注重点服务压力

    3、引入分布式事务机制,这是微服务化程序带来的一个重点问题

    4、读写分离机制

    5、引入搜索引擎,支持中文搜索

    6、分库分表功能引入

    7、动态负载均衡(consul + nginx方案)

    8、引入前端,通用管理界面,管理端支持用户数据库性能监控、日志查询、定时任务管理和权限管理等通用功能

    9、引入移动端demo,并可以进行用户行为记录分析

    10、引入大数据平台,对用户数据和用户行为做用户画像分析

 

转载于:https://my.oschina.net/jiahaov/blog/1570060

相关文章: