美文网首页spring boot
SpringBoot+SpringCloud生产方案最强学习案例

SpringBoot+SpringCloud生产方案最强学习案例

作者: DreamsonMa | 来源:发表于2019-04-18 20:41 被阅读132次

ThinFrame - 疯狂星

Thinker疯狂星应用开发架构。致力实现高可用,高性能,易扩展的开发框架。框架组件多样化,无数最佳实现,让你感受高效、愉悦开发体验。

项目地址:https://gitee.com/358843934/thin-frame

1 模块化设计

使用Maven进行依赖管理,实现模块化开发。

应用可分可合,既可独立部署,也可以实现分布式部署,便于业务更好的升级扩容。

命名空间: cn.com.thinker

框架模块:

thinFrame - |
            | - thinCore    # 核心包
            | - thinDs      # 对分布式支持
            | - thinTools   # 工具包
            | - thinGen     # 代码生成器

应用模块:

Old Application - |   # 旧模块保持原有结构
                  | - module
                  

New Application - | 
                  | - module    |
                                | - entity
                                | - dao     |
                                            | - jpa
                                            | - mapper
                                | - service |
                                            | - impl
                                | - controller
                                | - provider    # 暴露接口
                                

Application Client - | - module-sdk |
                                    | - comsumer
                                    | - dto

2 微内核设计

核心框架ThinCore只包含Spring-boot,Mybatis基本通用框架和一个tools工具包,做到极轻量级,极简单易用。使开发人员可以快速上手开发。

框架沿用Spring架构为运行容器,具有较高的通用性,易于整合其他开发架构平台。开发资料齐全易用。且对现有系统具备更好的兼容性。

框架数据访问层,提供Spring框架的Jpa接口,或者集成Mybatis,或者两者都集成。使调用数据库方面更简便易用。

详情参考:ThinCore Perference

微内核架构

3 自动化开发

根据公司业务需求,设计自动化生成工具ThinGen。满足60%的开发任务,简化业务开发人员工作量。接口实现自动化单元测试。检验点单元测试覆盖率需达到80%+

详情参考:ThinGen Perference

自动化部署方案: ThinAutoDeployment Perference

开发流程图:

开发流程

4 服务化治理

开发服务化治理平台,实现平台化服务治理。

底层功能,实现去中心化,负载均衡,容错容灾处理,灰度发布,过载保护等等。

运营平台,实现自动发布,简易部署,统一监控,集中配置,日志告警等功能。

Thinker云服务化设计:

云服务化设计

4.1 接入云平台

ThinDs云平台,基于Netflix框架开发。实现简易集成各种应用。核心功能包括:服务发现,负载均衡,高可用,熔断机制等

详情参考:ThinDs Perference

Thinker云应用设计:

接入云平台方案

4.1.1 Spring应用接入

使用ThinGen生成的应用,可集成ThinDs(Thinker Distributed System)直接使用。

对于旧框架开发的应用,有两种方式接入ThinCloud。

  • 第一种:可以集成ThinDs后使用(接入方式同JAVA应用接入)。

  • 第二种:对旧框架进行改造,集成ThinCore和ThinDs后使用。(推荐使用第二种,接入模式同ThinGen生成应用)

4.1.2 JAVA应用接入

使用JAVA语言开发的应用,可以接入ThinDs后使用。

4.1.3 非JAVA应用接入

使用非JAVA语言开发的应用,使用Sidecar或rest api进行接入。

4.2 监控管理平台

开发ThinCore的监控管理平台ThinMAM(Thinker Monitoring And Management ),对ThinCore开发的应用进行正常监控。功能示例如下:

熔断监控:

熔断监控

JMX管理:

JMX管理

日志级别切换:

日志级别切换

性能监控:

性能监控

查看线程栈:

查看线程栈

详情参考:ThinMAM Perference

ThinBiz - 疯狂星

ThinBiz是疯狂星核心框架中的通用业务模块。包括:服务网关,配置中心,服务注册与发现中心,断路器采集,监控中心,安全模块,流程引擎,分布式监控Zipkin等等

项目地址:https://gitee.com/358843934/thin-biz

模块化设计

命名空间: cn.com.thinker

框架模块:

thinBiz -   |                   # 通用业务模块
            | - thinWorkflow    # 流程引擎
            | - thinSecurity    # 安全管理
            | - thinMAM         # 监控管理平台
            | - thinTask        # 调度系统,使用Elastic-job
            | - thinApiGw       # 服务网关
            | - thinDiscovery   # 服务发现与注册
            | - thinConfig      # 配置中心
            | - thinZipKin      # 分布式链路监控

运行部署

提供多种部署方式。基于java,需要先安装jdk

  • 使用命令行工具,如下:
java -jar ${applicationName}.jar 
  • 使用tomcat部署:先安装tomcat容器,上传jar文件,运行即可。

  • 使用docker进行部署(推荐)

Thin云需要启动项目列表

ThinApiGw | ThinConfig | ThinDiscovery | ThinGatherer | ThinMAM | ThinZipKin

版权所有 ©2011 广州疯狂星科技股份有限公司

相关文章

网友评论

    本文标题:SpringBoot+SpringCloud生产方案最强学习案例

    本文链接:https://www.haomeiwen.com/subject/bcrxgqtx.html