incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Von Gosling <vongosl...@apache.org>
Subject Re: We want to contribute brpc to ASF, looking for champion and mentor ,please help
Date Mon, 17 Sep 2018 03:42:16 GMT
Hi,

I am excited to see a new rpc framework grow and flourish in apache comprehensive culture,
rpc is so important infrastructure as messaging. Also, I am glad to help brpc community to
learn and incubate smoothly under the Apache Way. After a look through about brpc , I  have
one question that what’s the plan for our brpc future? I noticed that your mention brpc
is an c++ rpc framework. AFAIK, sole language-lock rpc framework will not go far away in nowadays,
especially facing the challenge of the new cloud computing paradigm, such as serverless and
so on.


Best Regards,
Von Gosling

> 2. brpc is alternative for C++ rpc fcramework,implementations for other
> languages are not competitive enough (comparing to gRPC) to be
> opensourced.  Besides the basic RPC function, brpc(C++) provides
> additional features than gRPC:
>   - Clients and servers can talk in multiple protocols: baidu internal
> protocol, http, thrift, http2(communicable with gRPC, the PR is under
> reviewing) and tens of other protocols.
>   - Proved better performance in different scenarios, by eliminating
> locks on hotpaths and using goroutine-like concurrency(bthread) with cache
> friendly data structures
>   - More useful debugging utilities to help C++ programers build solid
> online services.
>   - Various access patterns such as one-to-one, one-to-many(fan out),
> streaming, which simplify implementation of complex distributed services.




> 在 2018年9月14日,16:19,Tan,Zhongyi <tanzhongyi@baidu.com> 写道:
> 
> Hi, JB,
> Below are our answers to your questions,
> Please check,
> Thanks.
> 
> 1. brpc doesn't depend on any other Apache projects. brpc currently
> depends on the following external project:
>   - leveldb
>   - openssl
>   - protobuf
>   - gperftools (optional)
>   - glog (optional)
>   - gtest
> 
> 2. brpc is alternative for C++ rpc fcramework,implementations for other
> languages are not competitive enough (comparing to gRPC) to be
> opensourced.  Besides the basic RPC function, brpc(C++) provides
> additional features than gRPC:
>   - Clients and servers can talk in multiple protocols: baidu internal
> protocol, http, thrift, http2(communicable with gRPC, the PR is under
> reviewing) and tens of other protocols.
>   - Proved better performance in different scenarios, by eliminating
> locks on hotpaths and using goroutine-like concurrency(bthread) with cache
> friendly data structures
>   - More useful debugging utilities to help C++ programers build solid
> online services.
>   - Various access patterns such as one-to-one, one-to-many(fan out),
> streaming, which simplify implementation of complex distributed services.
> 
> 
> 
> 在 2018/9/13 下午3:00, "Jean-Baptiste Onofré" <jb@nanthrax.net> 写入:
> 
>> Hi,
>> 
>> It's an interesting project. I have two questions:
>> 
>> 1. do you have some interactions/dependencies with other Apache
>> projects, especially CXF for instance ?
>> 2. what's the comparison between brpc and gRPC ? An alternative ?
>> Different features ?
>> 
>> I might be interested by mentoring the project, I would like to
>> understand exactly the target/purposes.
>> 
>> Thanks !
>> Regards
>> JB
>> 
>> On 13/09/2018 08:20, Tan,Zhongyi wrote:
>>> Hi, guys,
>>> 
>>> brpc is one open source RPC framework that is very popular in baidu and
>>> china.
>>> We want to contribute it to ASF to make it more successful.
>>> And we are looking for champion and mentor for this project,
>>> if anyone would like to volunteer, we will be very appreciated.
>>> 
>>> Thanks.
>>> 
>>> 
>>> Here is the draft for brpc proposal.
>>> 
>>> 
>>> # brpc Proposal
>>> 
>>> ## Abstract
>>> 
>>> brpc is an industrial-grade RPC framework for building reliable and
>>> high-performance services.
>>> 
>>> ## Proposal
>>> 
>>> We propose to contribute the brpc codebase and associated
>>> artifacts(e.g. documentation etc.) to the Apache Software Foundation,
>>> and aim to  build a wider open community around it in the 'Apache Way'.
>>> 
>>> 
>>> ## Background
>>> 
>>> The RPC framework used in Baidu before 2014 was developed at 2008 and
>>> limited in protocols and performance, and there were also serveral
>>> implementations focused on their own scenarios from Baidu's different
>>> BU. As an infrastructural team in Baidu, we tried to build a new
>>> framework to unify all RPC scenarios inside. The framework was named
>>> "baidu-rpc" internally the early versions were adopted and online at
>>> late 2014. The framework was rapidly iterated at 2015-2017, and
>>> thousands kinds of services and almost all core services adopted it. And
>>> in 2017, we opensourced it as "brpc" and hope to get more adoptions and
>>> contributions from outside. At the time of opensourcing, there're more
>>> than 1 million instances inside Baidu using baidu-rpc (not counting
>>> clients).
>>> 
>>> 
>>> ## Rationale
>>> 
>>> brpc has been approved inside baidu, since many high performance core
>>> services are using it.
>>> And since its open source, it has been adopted by several other
>>> companies, including Iqiyi, Didi, Sougou, BiliBili etc.
>>> 
>>> ## Current Status
>>> 
>>> brpc has been an open source project on GitHub
>>> (https://github.com/brpc/brpc) since 2017.
>>> 
>>> Currently it has more than 7.3k stars, 1.6k forks, and is one of the
>>> most popular repositories in topic of rpc category in GitHub rpc
>>> catelogy.
>>> It has been widely used in Baidu, with 1,000,000+ instances and
>>> thousands kinds of services.
>>> Besides, many other companies have already used it also, such as Iqiyi,
>>> Didi, Sougou, BiliBili etc.
>>> 
>>> ### Meritocracy
>>> 
>>> brpc was originally created by Ge Jun and Chen zhangyi inside baidu
>>> from 2014.
>>> Since its opensource in 2017, it has already followed meritocracy
>>> principles.
>>> It accepts multiple contributions from other companies.
>>> And now, the core developers are from several different companies.
>>> 
>>> We will follow Apache way to encourage more developers to contribute in
>>> this project.
>>> We know that only active and committed developers from a diverse set of
>>> backgrounds
>>> can make brpc a successful project.
>>> 
>>> 
>>> ### Community
>>> 
>>> brpc has been building an active community since its open source.
>>> Currently,
>>> the community includes over 31 contributors.
>>> The core developers of brpc are listed below.
>>> 
>>> ### Core Developers
>>> 
>>> * Ge Jun(https://github.com/jamesge jge666@gmail.com)
>>> * Chen Zhangyi(https://github.com/chenzhangyi frozen.zju@gmail.com)
>>> * Jiang Rujie(https://github.com/old-bear jrjbear@gmail.com)
>>> * Zhu Jiashun(http://github.com/zyearn zhujiashun2010@gmail.com)
>>> * Wang Yao(https://github.com/ipconfigme ipconfigme@gmail.com)
>>> 
>>> ### Alignment
>>> 
>>> brpc is useful for building reliable and high-performance applications.
>>> Since ASF has many famous performance-related and rpc-related projects,
>>> we believe that ASF is a perfect choice to help brpc project to attract
>>> more developers and users as well as having more cooperation with
>>> existing projects.
>>> 
>>> ## Known Risks
>>> 
>>> ### Orphaned Products
>>> 
>>> Since our core developers are from different companies and many
>>> companies are using it,
>>> the risk of the project being abandoned is minimal.
>>> For example, Baidu is extensively using it in their production
>>> environment
>>> and many large corporations including Iqiyi, Didi, Sougou, BiliBili use
>>> it in their production applications.
>>> 
>>> 
>>> ### Inexperience with Open Source
>>> 
>>> brpc has been an active open source project for more than one year.
>>> During that time, the project has attracted 30+ contributors and gained
>>> a lot of attention.
>>> The core developers are all active users and followers of open source.
>>> 
>>> ### Homogenous Developers
>>> 
>>> brpc was created inside Baidu, but after brpc was open sourced, it
>>> received a lot of bug fixes and enhancements from other developers not
>>> working at Baidu.
>>> And the core developers now are from different companies now.
>>> 
>>> ### Reliance on Salaried Developers
>>> 
>>> Baidu invested in brpc as a general rpc framework used in company
>>> widely.
>>> The core developers have been dedicated to this project for about four
>>> years.
>>> And after its open source, developers around the world have involved in.
>>> Besides, we want more developers and researchers to contribute to the
>>> project.
>>> 
>>> ### An Excessive Fascination with the Apache Brand
>>> 
>>> The mission of brpc is to help developers build reliable and
>>> high-performance services quickly and easily.
>>> It has been widely used in production environment throughout Baidu and
>>> after opensource, it has gained much attention and attracted developers
>>> all over the world.
>>> Apache Brand is very respected. We are very honored to have the
>>> opportunity to join ASF, with the understanding that its brand policies
>>> being respected.
>>> And we hope Apache can help us build the ecosystem around brpc and
>>> attract more developers.
>>> 
>>> 
>>> ## Documentation
>>> 
>>> The following links provide more information about brpc in open source:
>>> 
>>> Codebase at Github: https://github.com/brpc/brpc
>>> Issue Tracking: https://github.com/brpc/brpc/issues
>>> Overview: https://github.com/brpc/brpc/blob/master/docs/en/overview.md
>>> 
>>> ## Initial Source
>>> 
>>> brpc has been developed since 2014 by a team of engineers at Baidu Inc.
>>> We currently use Github to maintain our source code and track issues at
>>> https://github.com/brpc/brpc.
>>> We need to move our repository to Apache infrastructure.
>>> 
>>> ## Source and Intellectual Property Submission Plan
>>> 
>>> brpc source code is available under Apache V2 license and owned by
>>> Baidu.
>>> We will work with the committers to get ICLAs signed. We will provide a
>>> Software Grant Agreement from an authorized signer per
>>> https://www.apache.org/licenses/software-grant-template.pdf
>>> 
>>> ## External Dependencies
>>> 
>>> brpc has the following external dependencies.
>>> 
>>> * Google gflags (BSD)
>>> * Google protobuf (BSD)
>>> * Google leveldb (BSD)
>>> 
>>> ## Required Resources
>>> 
>>> ### Mailing List
>>> 
>>> There are currently no mailing lists. The usual mailing lists are
>>> expected to be set up when entering incubation:
>>> 
>>> * private@brpc.incubator.apache.org
>>> * dev@brpc.incubator.apache.org
>>> * commits@brpc.incubator.apache.org
>>> 
>>> ### Git Repositories:
>>> 
>>> Upon entering incubation, we want to transfer the existing repo from
>>> https://github.com/brpc/brpc to Apache infrastructure like
>>> https://github.com/apache/incubator-brpc.
>>> 
>>> ### Issue Tracking:
>>> 
>>> brpc currently uses GitHub to track issues. Would like to continue to
>>> do so while we discuss migration possibilities with the ASF Infra
>>> committee.
>>> 
>>> ### Other Resources:
>>> 
>>> Currently brpc has no dedicated website except Github homepage. In the
>>> future the website url should be http://brpc.incubator.apache.org/ to
>>> follow apache incubator conventions.
>>> 
>>> ## Sponsors
>>> 
>>> ### Champion
>>> 
>>> * todo
>>> 
>>> ### Mentors
>>> 
>>> * todo
>>> 
>>> ### Sponsoring Entity
>>> 
>>> We are requesting the Incubator to sponsor this project.
>>> 
>> 
>> -- 
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: general-help@incubator.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message