The latest code of BFE can be downloaded from the BFE open source project release page https://github.com/bfenetworks/bfe/releases. This chapter will introduce BFE v1.0.0 as an example.
At the top level of the code directory, you can see that BFE contains the following directories or files:
$ ls bfe/
ADOPTERS.md MAINTAINERS.md bfe_basic bfe_modules bfe_util
CHANGELOG.md Makefile bfe_bufio bfe_net bfe_websocket
CODE_OF_CONDUCT.md NOTICE bfe_config bfe_proxy conf
CONTRIBUTING.md README.md bfe_debug bfe_route docs
CONTRIBUTORS.md SECURITY.md bfe_fcgi bfe_server go.mod
Dockerfile VERSION bfe_http bfe_spdy go.sum
GOVERNANCE.md bfe.go bfe_http2 bfe_stream snap
LICENSE bfe_balance bfe_module bfe_tls staticcheck.conf
The hierarchical structure of each directory is as follows:
The functional modules corresponding to each directory in top-down order are described below.
bfe_net
: network-related basic librarybfe_http
: code for HTTP protocolbfe_tls
: code for TLS protocolbfe_http2
: code for HTTP2 protocolbfe_spdy
: code for SPDY protocolbfe_stream
: code for TLS proxybfe_websocket
: code for WebSocket proxybfe_proxy
: proxy related basic code
bfe_route
: code for traffic routingbfe_balance
: code for traffic balancing
bfe_module
: code for BFE plugin frameworkbfe_modules
: code for BFE extension modules
bfe_server
: main parts of BFE server
bfe_basic
: BFE basic librarybfe_config
: configuration loading related codebfe_debug
: debug related codebfe_util
: BFE basic library related code