Coder Social home page Coder Social logo

jellyzero / bfe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bfenetworks/bfe

1.0 0.0 0.0 45.08 MB

A modern layer 7 load balancer from baidu

Home Page: https://www.bfe-networks.net

License: Apache License 2.0

Shell 0.03% Go 99.68% Makefile 0.14% HTML 0.01% Yacc 0.11% Dockerfile 0.04%

bfe's Introduction

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.

bfe's People

Contributors

arlingtonroad avatar cb0518 avatar ccqy66 avatar clarinette9 avatar coopersong avatar corey-wang avatar daimg avatar dblate avatar deancn avatar ilujiez avatar iyangsj avatar kwanhur avatar lancoliu avatar lcmmhcc avatar lewisay avatar liu-song avatar liuqing6767 avatar liuxiaoli007 avatar liuximu avatar lxiaozhic avatar mileszhang2016 avatar qichengzx avatar shanhuhai5739 avatar tianxinheihei avatar tovi163 avatar xiaofei0800 avatar yangqingxin1993 avatar yangshuothtf avatar yoo-o avatar yuqixiao avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.