当前位置: 首页 > 软件库 > Web应用开发 > >

free-bsf-all

Java 基础框架
授权协议 Apache
开发语言 Java
所属分类 Web应用开发
软件类型 开源软件
地区 国产
投 递 者 漆雕和雅
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

free-bsf-all

源起

起源 https://gitee.com/yhcsx/csx-bsf-all (现已停止开源)项目,重新定制化修改。

介绍

BSF 为 Base Service Framework 的简写,定义为技术团队的基础框架,用于基础服务的集成和跟业务无关的基础技术集成。 BSF 集成并封装Apollo,Rocket MQ,Redis, Elastic Search,ELK,XXL-JOB, Sharding JDBC,Cat,Eureka,七牛云,Swagger等第三方中间件,标准化使用规范,并集成了自研的监控报警,用来监控各个服务系统的性能及异常告警,提供简易使用的底层框架。

愿景

【技术一体化】为了更好地支持业务开发,让开发人员从中间件中解放出来,专注业务以提高开发效率。同时基础框架集中统一优化中间件相关服务及使用,为开发人员提供高性能,更方便的基础服务接口及工具,实践过程可让效率提升10倍。

项目结构规范说明

free-bsf-all 
    -- free-bsf-core (项目核心类库)
    -- free-bsf-demo (项目集成使用demo)
    -- free-bsf-dependencies (项目依赖pom定义)
        -- README.md (说明文档,必须有)
    -- free-bsf-starter (项目full-start包)
    -- free-bsf-elk (ELK集成)
    -- free-bsf-job (XXL-JOB集成)
    -- free-bsf-cat (CAT监控集成)
    -- free-bsf-apollo (Apollo配置中心集成)
    -- free-bsf-message (消息-短信-钉钉消息集成)
    -- free-bsf-shardingjdbc (分库分表ShardingJDBC 集成) 
    -- free-bsf-mq (消息队列Rocket MQ集成) 
    -- free-bsf-redis(缓存Redis集成)
    -- free-bsf-eureka(服务注册与发现集成)
    -- free-bsf-file(文件服务集成)
    -- free-bsf-elasticsearch(ES集成) 
    -- free-bsf-health(自研健康检查) 
    -- free-bsf-transaction(努力送达事务) 
    -- free-bsf-autotest(自动化测试流量录制) 
    -- free-bsf-apiregistry(自研api注册中心) 
    -- 框架名 (例如:free-bsf-elk,cat,apollo等)
 

相关文档

本系统个子模块分别集成分装了对应中间件服务,文档如下:

  1. free-bsf-core
  2. free-bsf-demo
  3. free-bsf-dependencies
  4. free-bsf-starter
  5. free-bsf-elk
  6. free-bsf-job
  7. free-bsf-cat
  8. free-bsf-apollo
  9. free-bsf-message
  10. free-bsf-shardingjdbc
  11. free-bsf-mq
  12. free-bsf-redis
  13. free-bsf-eureka
  14. free-bsf-file
  15. free-bsf-elasticsearch
  16. free-bsf-health
  17. free-bsf-transaction
  18. free-bsf-sentinel
  19. free-bsf-autotest
  20. free-bsf-apiregistry

编译说明

  1. 首次下载代码,首先构建free-bsf-dependencies模块,然后在构建整个工程。
  2. 缺包无法编译,请下载resources下的elasticsearch-sql-6.7.1.0.rar,es-sql对druid v1.2.5+的改造支持
mvn install free-bsf-dependencies
mvn install free-bsf-all
 

版本升级/切换

## 备注: 格式:1.0-SNAPSHOT (版本号+-+RELEASE/SNAPSHOT) 
cd free-bsf-dependencies
mvn versions:set -DgenerateBackupPoms=false

mvn versions:set -DgenerateBackupPoms=false -DnewVersion={version}
 

使用说明

  1. 依赖引用
    <!--引入依赖版本定义1方式-->
    <parent>
        <groupId>com.free.bsf</groupId>
        <artifactId>free-bsf-dependencies</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <!--引入依赖版本定义2方式-->
    <dependency>
        <groupId>com.free.bsf</groupId>
        <artifactId>free-bsf-dependencies</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    <!--引入依赖 free-bsf-starter-->
    <dependency>
        <artifactId>free-bsf-starter</artifactId>
        <groupId>com.free.bsf</groupId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
 
  1. Demo程序 框架的使用demo,请参考free-bsf-demo 各个组件的使用,请参考相关模块文档。
  2. 集成配置参考properties配置文件 resources/application.properties

更新记录

1.1-SNAPSHOT

  • bsf 支持sentinel限流。
  • bsf 支持transaction分布式事务seata。
  • bsf 支持阿里云oss sts认证模式上传文件。

1.2-SNAPSHOT

  • bsf 支持自动化测试流量录制。

1.3-SNAPSHOT

1.4-SNAPSHOT

1.5-SNAPSHOT

  • bsf 支持autotest get请求bug修复。

1.6-SNAPSHOT

  • bsf 支持elk logstash动态限流能力。

1.7-SNAPSHOT

  • bsf 修復所有properties配置模糊匹配的問題。

1.8-SNAPSHOT

  • bsf health模块对sql和url报警支持。

1.9-SNAPSHOT

  • bsf springboot升级为2.3.12.RELEASE和springCloud升级为Hoxton.SR12 【内部测试未验证】

2.1-SNAPSHOT

  • bsf 基于1.9-SNAPSHOT,增加apiRegistry api注册中心组件。兼容旧feign的get,post通用写法。支持旧eureka rpc结果对比测试。

2.2-SNAPSHOT

  • bsf eureka模块移除掉,bsf整个eureka相关的依赖全部删除,增加启动APIRegistry bean扫描支持,增加health sql参数集和结果集过大报警支持。

参与贡献

架构师: 车江毅

参考文档

by 车江毅

  • av_register_all() 本篇主要解析av_register_all()所在文件libavformat–allformats.c及av_register_all()在调用过程中引用到的libavcodec–allcodecs.c。 ffmpeg注册复用器,编码器等的函数av_register_all()。该函数在所有基于ffmpeg的应用程序中几乎都是第一个被调用的。只有调用了该函数,才

 相关资料
  • 主要内容:基础类的功能如果您参考Apple文档,应该会看到框架的详细信息,如下所示。 框架定义了Objective-C类的基础层。 除了提供一组有用的原始对象类之外,它还引入了几个定义Objective-C语言未涵盖的功能的范例。 框架的设计考虑了这些目标 - 提供一小组基本实用程序类。 通过为解除分配等事项引入一致的约定,使软件开发更容易。 支持Unicode字符串,对象持久性和对象分发。 提供一定程度的操作系统独立

  • Java集合框架提供了数据持有对象的方式,提供了对数据集合的操作。Java集合框架位于java.util包下,主要有三个大类:Collection、Map接口以及对集合进行操作的工具类。 Collection ArrayList:线程不同步。默认初始容量为10,当数组大小不足时增长率为当前长度的50%。 Vector:线程同步。默认初始容量为10,当数组大小不足时增长率为当前长度的100%。它的同

  • BSF

    BSF (Bean Scripting Framework) 是一组 Java 的类用来在 Java 的程序中支持脚本语言,可在脚本语言中访问 Java 的对象和方法。BSF 支持多种脚本语言,例如 JavaScript、Jython、Tcl、XSLT 等。

  • 如果您参考Apple文档,您可以看到Foundation框架的详细信息,如下所示。 Foundation框架定义了Objective-C类的基础层。 除了提供一组有用的原始对象类之外,它还引入了几个定义Objective-C语言未涵盖的功能的范例。 基金会框架的设计考虑了这些目标 - 提供一小组基本实用程序类。 通过为解除分配等事项引入一致的约定,使软件开发更容易。 支持Unicode字符串,对象

  • 框架使用 Composer 作为依赖管理工具,在开始安装框架前,请确保已经按上一章节的要求配置好环境并安装好了Composer 工具,在安装过程中,会释放框架的文件到项目目录,请保证项目目录有可写入权限 关于 Composer 的安装可以参照 Composer中国全量镜像 的安装教程 快速安装 # 创建项目 composer create-project easyswoole/app easysw

  • 首先第一个版本,我们要先了解搭建一个库或者是一个给别人使用的小插件应该用一种什么样的格式. 首先我们需要创建一个闭包 (function(){ //code.. })(); 然后将我们所需要的代码和逻辑都写在里面避免全局变量的泛滥. 接着我们来看看我们第一版里的代码. (function(window,document) { var w = window, doc