阿里巴巴有哪些好玩的分布式开源框架?

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 开源项目起初由国外一些工程师发起,最著名的开源社区及私有软件项目的托管平台GitHub,由国外Chris Wanstrath创办从一个开发者社区变成了一个免费开源代码托管平台;国内越来越多的公司把自研的一些优秀开源框架贡献出来,阿里巴巴、腾讯、百度、网易、当当、携程等公司都有在github上开源一些优秀的项目。其中阿里巴巴的的开源项目很多,几乎国内所有公司都用过阿里巴巴的一些项目,耳熟能详的如:druid、fastjson。分布式流行的当下,阿里也有众多分布式开源项目,今天主要搜罗一下阿里分布式开源项目。

01前言


开源项目起初由国外一些工程师发起,最著名的开源社区及私有软件项目的托管平台GitHub,由国外Chris Wanstrath创办从一个开发者社区变成了一个免费开源代码托管平台;国内越来越多的公司把自研的一些优秀开源框架贡献出来,阿里巴巴、腾讯、百度、网易、当当、携程等公司都有在github上开源一些优秀的项目。其中阿里巴巴的的开源项目很多,几乎国内所有公司都用过阿里巴巴的一些项目,耳熟能详的如:druid、fastjson。分布式流行的当下,阿里也有众多分布式开源项目,今天主要搜罗一下阿里分布式开源项目。

02分布式RPC服务框架Dubbo


pache Dubbo (incubating) |是阿里巴巴的一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。国内很多中小公司都在用阿里巴巴的dubbo框架构建分布式项目。

https://github.com/alibaba/dubbo


03Spring Cloud Alibaba


分布式应用服务开发的一站式解决方案Spring Cloud Alibaba,是阿里巴巴基于Spring Cloud并在其基础之上添加阿里自己的组件进行的升级和改造,项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。使用 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。使用过SpringCloud开发的同学,不会对SpringCloudAlibaba陌生。

https://github.com/spring-cloud-incubator/spring-cloud-alibaba

04Nacos


Nacos是阿里巴巴研发的一个集注册中心与配置中心于一体的管理平台。Nacos提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。

https://nacos.io/en-us/


05高可用流量管理框架Sentinel


Sentinel 是阿里开源的一个面向微服务的轻量级流量控制框架,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。

https://github.com/alibaba/Sentinel


06分布式链路追踪中间件SOFATracer


分布式链路追踪解决方案有很多,SOFATracer 是阿里开源的一个用于分布式系统调用跟踪的组件,通过统一的 traceId 将调用链路中的各种网络调用情况以日志的方式记录下来,以达到透视化网络调用的目的。这些日志可用于故障的快速发现,服务治理等。

https://github.com/alipay/sofa-tracer


07高性能 Java RPC 框架SOFARPC


阿里开源的RPC框架除了Dubbo外还有蚂蚁金服的SOFARPC ,SOFARPC是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SOFARPC 提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等等。同时围绕 SOFARPC 框架及其周边组件提供丰富的微服务治理方案。

https://github.com/alipay/sofa-rpc


08分布式消息领域标准OpenMessaging


OpenMessaging 是由阿里巴巴发起,与雅虎、滴滴出行、Streamlio 公司共同参与创立,旨在创立厂商无关、平台无关的分布式消息及流处理领域的应用开发标准。

https://github.com/openmessaging/openmessaging-java


09P2P 文件分发系统Dragonfly


Dragonfly(蜻蜓)是阿里自研的 P2P 文件分发系统,用于解决大规模文件分发场景下分发耗时、成功率低、带宽浪费等难题。大幅提升发布部署、数据预热、大规模容器镜像分发等业务能力。开源版的 Dragonfly 可用于 P2P 文件分发、容器镜像分发、局部限速、磁盘容量预检等。它支持多种容器技术,对容器本身无需做任何改造,镜像分发比 natvie 方式提速可高达 57 倍,Registry 网络出流量降低99.5%以上。我们公司就用这款项目用于日志存储和搜索非常方便。

https://github.com/alibaba/Dragonfly


10基于 Spring Boot的研发框架SOFABoot


SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFAStack 相关中间件的能力。

https://github.com/alipay/sofa-boot


11分布式数据层TDDL


在分布式系统中,经常需要实现读写分离,动态数据库配置等;配套数据库实现分布式系统的一些解决方案,TDDL 是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能。

https://github.com/alibaba/tb_tddl


12轻量级分布式数据访问层CobarClient


MyBatis相信大家都用过,持久层中间件,具有多级缓存实现配套Spring/SpringBoot插件使用更方便;Cobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。

https://github.com/alibaba/cobarclient


13redis 的 java 客户端Tedis


Redis是一个非常实用和高效的NoSQL(非关系型数据库)能够有效解决系统和数据库之间的一些访问压力,并且提供一些其他更重要的功能如:分布式锁的实现等。Tedis 是另一个 redis 的 java 客户端。Tedis 的目标是打造一个可在生产环境直接使用的高可用 Redis 解决方案。

https://github.com/justified/tedis

总结


在国人开源项目越来越多,科技发展的当下,实力越来越强大,了解并参与到开源项目中,是每一个技术人的实力认证和骄傲。即使未能参与到开源的项目中去,甚至未能在工作中使用它们 ,至少我们可以去了解这些项目。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
Dubbo Java 应用服务中间件
已跪,Java全能笔记爆火,分布式/开源框架/微服务/性能调优全有
程序员,立之根本还是技术,一个程序员的好坏,虽然不能完全用技术强弱来判断,但是技术水平一定是基础,技术差的程序员只能CRUD,技术不深的程序员也成不了架构师。程序员对于技术的掌握,除了从了解-熟悉-熟练-精通的过程以外,还应该从基础出发,到进阶,到源码,到实战。所以,程序员想要成功,首先要成就自己。
|
设计模式 缓存 Dubbo
已跪,Java全能笔记爆火,分布式/开源框架/微服务/性能调优全有
程序员,立之根本还是技术,一个程序员的好坏,虽然不能完全用技术强弱来判断,但是技术水平一定是基础,技术差的程序员只能CRUD,技术不深的程序员也成不了架构师。程序员对于技术的掌握,除了从了解-熟悉-熟练-精通的过程以外,还应该从基础出发,到进阶,到源码,到实战。所以,程序员想要成功,首先要成就自己。
|
1月前
|
NoSQL 算法 安全
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
154 0
|
1月前
|
NoSQL 关系型数据库 MySQL
分布式锁(redis/mysql)
分布式锁(redis/mysql)
58 1
|
3月前
|
NoSQL Java 测试技术
字节二面:Spring Boot Redis 可重入分布式锁实现原理?
字节二面:Spring Boot Redis 可重入分布式锁实现原理?
161 1
|
3月前
|
存储 缓存 NoSQL
【分布式】Redis与Memcache的对比分析
【1月更文挑战第25天】【分布式】Redis与Memcache的对比分析
|
3月前
|
监控 NoSQL Linux
【分布式】Redis的持久化方案解析
【1月更文挑战第25天】【分布式】Redis的持久化方案解析
|
29天前
|
NoSQL Java Redis
如何通俗易懂的理解Redis分布式锁
在多线程并发的情况下,我们如何保证一个代码块在同一时间只能由一个线程访问呢?
37 2
|
1月前
|
缓存 NoSQL Java
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
60 0
|
1月前
|
人工智能 监控 NoSQL
【万字长文 一文搞定】Redis:从新手村到大师殿堂的奥德赛之旅 9种实现分布式锁的全技术指南
【万字长文 一文搞定】Redis:从新手村到大师殿堂的奥德赛之旅 9种实现分布式锁的全技术指南
81 4

热门文章

最新文章