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管理:

日志级别切换:

性能监控:

查看线程栈:

详情参考: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 广州疯狂星科技股份有限公司
网友评论