Origin

Originated from https://gitee.com/yhcsx/csx-bsf-all (open source is now closed) project, re-customized and modified.

introduce

BSF is the abbreviation of Base Service Framework, defined as the basic framework of the technical team, used for the integration of basic services and basic technology integration that has nothing to do with business. BSF integrates and encapsulates third-party middleware such as Apollo, Rocket MQ, Redis, Elastic Search, ELK, XXL-JOB, Sharding JDBC, Cat, Eureka, Qiniu Cloud, Swagger, standardized usage specifications, and integrates self-developed monitoring and alarming , used to monitor the performance and abnormal alarms of each service system, and provide an easy-to-use underlying framework.

vision

[Technology Integration]In order to better support business development, developers can be freed from middleware and focus on business to improve development efficiency. At the same time, the basic framework centralizes and optimizes middleware-related services and usage, providing developers with high-performance, more convenient basic service interfaces and tools, and the practice process can increase efficiency by 10 times.

Project Structure Specification

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等)

related documents

The sub-modules of this system are respectively integrated and sub-packaged with corresponding middleware services. The documents are as follows:

  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-api registry

Compilation instructions

  1. Download the code for the first time, first build the free-bsf-dependencies module, and then build the entire project.
  2. Cannot compile due to lack of package, please download elasticsearch-sql-6.7.1.0.rar under resources, es-sql supports druid v1.2.5+ transformation

mvn install free-bsf-dependencies
mvn install free-bsf-all

Version upgrade/switch

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

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

Instructions for use

  1. dependent reference
    <!--引入依赖版本定义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. For the demo of the demo program framework, please refer to free-bsf-demo For the use of each component, please refer to the relevant module documentation.
  2. Integration configuration reference properties configuration file resources/application.properties

update record

1.1 – SNAPSHOT

  • bsf supports sentinel current limiting.
  • bsf supports transaction distributed transaction seata.
  • bsf supports Alibaba Cloud oss ​​sts authentication mode to upload files.

1.2-SNAPSHOT

  • bsf supports automated test traffic recording.

1.3-SNAPSHOT

1.4-SNAPSHOT

1.5-SNAPSHOT

  • bsf supports autotest get request bug fixes.

1.6 – SNAPSHOT

  • bsf supports the dynamic current limiting capability of elk logstash.

1.7-SNAPSHOT

  • bsf fixes fuzzy matching of all properties configurations.

1.8 – SNAPSHOT

  • The bsf health module supports sql and url alarms.

1.9 – SNAPSHOT

  • bsf springboot is upgraded to 2.3.12.RELEASE and springCloud is upgraded to Hoxton.SR12[internal test not verified]

2.1-SNAPSHOT

  • Based on 1.9-SNAPSHOT, bsf adds apiRegistry api registration center component. Compatible with the old feign’s get and post general wording. Support comparison test of old eureka rpc results.

2.2-SNAPSHOT

  • The bsf eureka module is removed, all eureka-related dependencies of bsf are deleted, APIRegistry bean scanning support is added, and health sql parameter set and result set alarm support is added.

Participate in contribution

Architect: Che Jiangyi

reference documents

by Che Jiangyi

#BSF #abbreviation #Base #Service #Framework #basic #framework #technical #team #integration #basic #services #basic #technology #integration #business #Standardize #specifications #improve #performance #times #BSF #integrates #encapsulates #Apollo #Rocket #Redis #Elastic #Search #ELK #XXLJOB #Sharding #JDBC #Cat #Eureka #Qiniu #Cloud #Swagger #thirdparty #middleware #integrates #selfdeveloped #monitoring #alarming

Leave a Comment

Your email address will not be published. Required fields are marked *