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.confThe 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
Previous: Chap26 Support More Protocols
Next: Chap28 Process Model
