⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/Today-a-early-rise-a-wave-of-baidu-is-Java-project/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

今儿 7 点一大早,早起群的死变态已经纷纷打卡起来学习了。

菜逼互啄群

吓得艿艿这个小帅胖,翻了一圈“年龄”,赶紧起来 = =。

点了一套煎饼果子,看到《百度开源的 71 款项目》文章,于是乎去百度的 https://github.com/baidu 愁一愁有哪些和 Java 相关的,还是有点东东的。。。

1. 分布式配置管理平台 Disconf

https://github.com/knightliao/disconf

Distributed ConfigurationManagement Platform(分布式配置管理平台)专注于各种 分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务。

目前已经不维护,建议采用 Apollo 或者 Nacos 作为配置中心。

2. 分布式 ID 生成器 UidGenerator

https://github.com/baidu/uid-generator

UidGenerator 是Java实现的, 基于Snowflake算法的唯一ID生成器。

UidGenerator 以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于 docker 等虚拟化环境下实例自动重启、漂移等场景。

在实现上, UidGenerator 通过借用未来时间来解决sequence天然存在的并发限制; 采用 RingBuffer 来缓存已生成的UID, 并行化 UID 的生产和消费, 同时对CacheLine补齐,避免了由 RingBuffer 带来的硬件级「伪共享」问题. 最终单机QPS可达 600 万。

有胖友读过 UidGenerator 的源码实现,还是非常不错的,值得撸一撸

3. 高性能 RPC 框架 BRPC-Java

https://github.com/baidu/brpc-java

brpc-java 是 baidu rpc 的 java 版本实现,支持 baidu rpc、nshead、sofa、hulu、http、stargate、dubbo 等协议。

目前 BRPC 的 C++ 版本已经进入 Apache 进行孵化,详细可见:https://github.com/apache/incubator-brpc

不过问了一圈,貌似木有胖友在使用~

4. 微服务框架 Spring Cloud Formula

https://github.com/baidu/spring-cloud-formula

基于 Spring Boot 兼容 Spring Cloud 生态开发的微服务框架,是百度云 CNAP(云原生微服务应用平台 Cloud-Native Application Platform)的面向客户提供的 Java 微服务框架设施。

里面提供了各种增强的 Starter,胖友可以选择看看。

例如说,RateLimiter Spring Boot Starter 基于 resilience4j 或 令牌桶算法,提供了服务限流的功能。

Route Spring Boot Starter 兼容 OpenFeign,Ribbon,RestTemplate 组件,支持按请求的 IP,tag,路由到一个或者多个 tag (按比例分配)的集群。

5. 工具库 JProtobuf

https://github.com/jhunters/jprotobuf

jprotobuf 是针对 Java 程序开发一套简易类库,目的是简化java语言对 protobuf 类库的使用。

使用 jprotobuf 可以无需再去了解 .proto 文件操作与语法,直接使用 Java 注解定义字段类型即可。

6. 基于 Protobuf 的 RPC 框架 Jprotobuf-rpc-socket

https://github.com/baidu/Jprotobuf-rpc-socket

Protobuf RPC 是一种基于 TCP 协议的二进制高性能RPC通信协议实现。

它以 Protobuf 作为基本的数据交换格式,支持完全基于POJO的发布方式,极大的简化了开发复杂性。

= = 发现 RPC 框架是真的多~

7. 百度 BI 平台 BiPlatform

https://github.com/baidu/BIPlatform

百度开源,业内领先的Holap敏捷BI分析平台,提供高性能、准实时、可扩展的、一站式的BI建模、分析平台。

看了下最后时间是 3 年前,可能...

文章目录
  1. 1. 1. 分布式配置管理平台 Disconf
  2. 2. 2. 分布式 ID 生成器 UidGenerator
  3. 3. 3. 高性能 RPC 框架 BRPC-Java
  4. 4. 4. 微服务框架 Spring Cloud Formula
  5. 5. 5. 工具库 JProtobuf
  6. 6. 6. 基于 Protobuf 的 RPC 框架 Jprotobuf-rpc-socket
  7. 7. 7. 百度 BI 平台 BiPlatform