# butte-frame-parent **Repository Path**: ITKnow/butte-frame-parent ## Basic Information - **Project Name**: butte-frame-parent - **Description**: Java常用服务框架,中间组件,二次浅封装。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 51 - **Created**: 2023-05-06 - **Last Updated**: 2023-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # butte-frame ## 1、案例简介 Java分布式系统中,微服务基础组件(Nacos、Feign、Gateway、Seata)等,系统中间件(Quartz、Redis、Kafka、ElasticSearch,Logstash)等,对常用功能、配置、API等,进行二次浅封装并统一集成管理,以满足日常开发中基础环境搭建与临时工具的快速实现。 - **[butte-flyer](https://gitee.com/cicadasmile/butte-flyer-parent)** 组件封装的应用案例; - **[butte-frame](https://gitee.com/cicadasmile/butte-frame-parent)** 常用技术组件二次封装; ## 2、参考文章 - 基础概述 - [微服务架构中,二次浅封装实践](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P01、微服务组件浅封装.md) - [微服务与领域驱动设计架构实践](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P08、微服务与领域驱动.md) - [分布式系统中数据存储方案实践](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P09、分布式数据存储方案.md) - [分布式项目中,选型与依赖管理](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P02、选型与依赖管理.md) - [日志管理系统,多种方式总结](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P03、日志多种管理体系.md) - [微服务工程中,基础组件应用](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P04、微服务基础组件.md) - [微服务网关Gateway实践总结](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P10、Gateway网关服务.md) - [分布式架构中灰度方案实践](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P11、灰度方案实践.md) - [监控平台SkyWalking9入门实践](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P12、SkyWalking9入门.md) - 源码分析 - [从SpringBoot启动,阅读源码设计](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/source/03、服务启动源码分析.md) - [服务管理与通信,基础原理分析](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/source/01、服务注册发现与通信.md) - [应用配置管理,基础原理分析](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/source/02、服务配置管理.md) - [从简单代码入手,分析线程池原理](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P05、线程池源码分析.md) - [基于Apache组件,分析对象池原理](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P06、Apache对象池分析.md) - [基于HiKariCP组件,分析连接池原理](https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/practic/P07、HiKariCP连接池分析.md) ## 3、分层架构 整体划分五分分层:网关层、应用层、业务层、中间件层、基础层,组合成整体的分布式系统。 ![](https://images.gitee.com/uploads/images/2021/1114/231023_53b4ecc2_5064118.png "01-1.png") 服务总览 , 相关[脚本文件](https://gitee.com/cicadasmile/butte-flyer-parent/tree/master/flyer-script) , [微服务环境配置](https://gitee.com/cicadasmile/butte-frame-parent/wikis/微服务环境); | 服务名 | 分层 | 端口 | 缓存库 | 数据库 | 描述 | |:---|:---|:---|:---|:---|:---| | flyer-gateway | 网关层 | 8010 | db1 | nacos | 路由控制 | | flyer-facade | 应用层 | 8082 | db2 | facade | 门面服务 | | flyer-admin | 应用层 | 8083 | db3 | admin | 后端管理 | | flyer-account | 业务层 | 8084 | db4 | account | 账户管理 | | flyer-quartz | 业务层 | 8085 | db5 | quartz | 定时任务 | | kafka | 中间件 | 9092 | --- | ------ | 消息队列 | | elasticsearch | 中间件 | 9200 | --- | ------ | 搜索引擎 | | redis | 中间件 | 6379 | --- | ------ | 缓存中心 | | logstash | 中间件 | 5044 | --- | es6.8.6 | 日志采集 | | nacos | 基础层 | 8848 | --- | nacos | 注册配置 | | seata | 基础层 | 8091 | --- | seata | 分布事务 | | mysql | 基础层 | 3306 | --- | ------ | 数据存储 | ## 4、目录结构 在`butte-frame`中对各个技术栈进行二次封装管理,在`butte-flyer`中进行依赖引用。 ``` but butte-frame ├── frame-base 基础代码块 ├── frame-jdbc 数据库组件 ├── frame-core 服务基础依赖 ├── frame-gateway 路由网关 ├── frame-nacos 注册与配置中心 ├── frame-seata 分布式事务 ├── frame-feign 服务间调用 ├── frame-security 安全管理 ├── frame-search 搜索引擎 ├── frame-redis 缓存管理 ├── frame-kafka 消息中间件 ├── frame-quartz 定时任务 ├── frame-swagger 接口文档 └── frame-sleuth 链路日志 butte-flyer ├── flyer-gateway 网关服务:路由控制 ├── flyer-facade 门面服务:功能协作接口 ├── flyer-account 账户服务:用户账户 ├── flyer-quartz 任务服务:定时任务 └── flyer-admin 管理服务:后端管理 ``` ## 5、技术栈组件 系统常用的技术栈:基础框架、微服务组件、缓存、安全管理、数据库、定时任务、工具依赖等。 |名称| 版本|说明| |:---|:---|:---| | spring-cloud | 2.2.5.RELEASE | 微服务框架基础 | | spring-boot | 2.2.5.RELEASE | 服务基础依赖 | | gateway | 2.2.5.RELEASE | 路由网关 | | nacos | 2.2.5.RELEASE | 注册中心与配置管理 | | seata | 2.2.5.RELEASE | 分布式事务管理 | | feign | 2.2.5.RELEASE | 微服务间请求调用 | | security | 2.2.5.RELEASE | 安全管理 | | sleuth | 2.2.5.RELEASE | 请求轨迹链路 | | security-jwt | 1.0.10.RELEASE | JWT加密组件 | | hikari | 3.4.2 | 数据库连接池,默认 | | mybatis-plus | 3.4.2 | ORM持久层框架 | | kafka | 2.0.1 | MQ消息队列 | | elasticsearch | 6.8.6 | 搜索引擎 | | logstash | 5.2 | 日志采集 | | redis | 2.2.5.RELEASE | 缓存管理与加锁控制 | | quartz | 2.3.2 | 定时任务管理 | | swagger | 2.6.1 | 接口文档 | | apache-common | 2.7.0 | 基础依赖包 | | hutool | 5.3.1 | 基础工具包 | ## 6、关于作者 | 有问题加:微信号↓ | 支持关注:公众号↓ | |----|-----| | | |