bfe

command module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

README

BFE

GitHub Travis Go Report Card GoDoc Snap Status CII Best Practices FOSSA Status Slack Widget

English | 中文

BFE (Beyond Front End) is a modern layer 7 load balancer from baidu.

bfe logo

BFE is a Cloud Native Computing Foundation (CNCF) sandbox project.

cncf-logo

Introduction

BFE opensource project includes several components, which can be used together as a integrated layer 7 load balancer and traffic management solution.

BFE system consists of data plane and control plane:

  • Data plane:responsible for forwarding user's traffic, including below component:
    • BFE Server:BFE forward engine (this repository, bfenetworks/bfe). BFE Server performs content based routing, load balancing and forwards the traffic to backend servers.
  • Control plane:responsible for management and configuration of BFE system, including below components:
    • API-Server:provides API and handles update, storage and generation of BFE config
    • Conf-Agent:component for loading config, fetches latest config from API-Server and triggers BFE Server to reload it
    • Dashboard:provides a graphic interface for user to manage and view major config of BFE

Refer to Overview in BFE document for more information

Besides, we also implement BFE Ingress Controller based on BFE, to fulfill Ingress in Kubernetes

Advantages

  • Multiple protocols supported, including HTTP, HTTPS, SPDY, HTTP2, WebSocket, TLS, FastCGI, etc.
  • Content based routing, support user-defined routing rule in advanced domain-specific language.
  • Support multiple load balancing policies.
  • Flexible plugin framework to extend functionality. Based on the framework, developer can add new features rapidly.
  • Efficient, easy and centralized management, with RESTful API and Dashboard support.
  • Detailed built-in metrics available for service status monitor.

Getting Started

Running the tests

Documentation

Contributing

  • Please create an issue in issue list.
  • Contact Committers/Owners for further discussion if needed.
  • Following the golang coding standards.
  • See the CONTRIBUTING file for details.

Authors

Communication

  • BFE community on Slack: Sign up CNCF Slack and join bfe channel.
  • BFE developer group on WeChat: Send a request mail with your WeChat ID and a contribution you've made to BFE(such as a PR/Issue). We will invite you right away.

License

BFE is under the Apache 2.0 license. See the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package bfe_bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
Package bfe_bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
bfe_config
Package bfe_http2 implements the HTTP/2 protocol.
Package bfe_http2 implements the HTTP/2 protocol.
hpack
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
mod_userid
Package mod_userid generate user identity to trace one user in different request this mod will auto set user id for request if user id not exited in cookie to cookie
Package mod_userid generate user identity to trace one user in different request this mod will auto set user id for request if user id not exited in cookie to cookie
bfe_net
textproto
Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
Package bfe_proxy implements Proxy Protocol (v1 and v2) parser and writer, as per specification: http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
Package bfe_proxy implements Proxy Protocol (v1 and v2) parser and writer, as per specification: http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
trie
Package trie implements a simple trie data structure that maps "paths" (which are slices of strings) to arbitrary data values (type interface{}).
Package trie implements a simple trie data structure that maps "paths" (which are slices of strings) to arbitrary data values (type interface{}).
Package bfe_tls partially implements TLS 1.2, as specified in RFC 5246.
Package bfe_tls partially implements TLS 1.2, as specified in RFC 5246.
bns

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL