假设你正在参与公司一项非常重要的项目开发,在做需求沟通时,要求系统在分布式场景下实现高并发、高可扩展、自动容错和高可用,如果这个项目由你主导,你会怎么做呢?
在分布式场景下,可能最先想到的是分布式通信的问题,在Google或国内网站上搜索分布式RPC框架,就会搜索到Dubbo。
一般熟悉一个框架,首先会查阅官网,然后下载最新代码,仔细阅读代码示例或新手指南,最后动手编写代码或打开示例代码,在开发工具中快速运行。如果已经有不错的编程经验,那么或许能顺利“跑通”,如果是编程新手则可能被一些配置或编译错误难倒。
编写分布式场景下高并发、高可扩展的系统对技能的要求很高,因为其中涉及序列化/反序列化、网络、多线程、设计模式、性能优化等众多专业知识。Dubbo框架很好地将这些专业知识做了更高层的抽象和封装,提供了各种开箱即用的特性,让用户可以“傻瓜式”地使用。
![2898d83b4839930416500f1a39bb03c2.jpeg](https://img-blog.csdnimg.cn/img_convert/2898d83b4839930416500f1a39bb03c2.jpeg)
Dubbo简介
Dubbo提供了非常丰富的开箱即用的特性,我们会花费大部分时间来挖掘它的能力,Dubbo是一个分布式高性能的RPC服务框架,它的核心设计原则:微内核+插件体系,平等对待第三方。我们也会探讨Dubbo其他方面的内容,例如:
- Dubbo核心协议;
- 扩展点SPI;
- 线程模型;
- 注册中心;
- 关注点分离(解耦业务和框架)。
Dubbo是阿里SOA服务化治理方案的核心框架,每天为2000多个服务提供30多亿次访问量支持,并被广泛应用于阿里集团的各成员站点。阿里重启开源计划主要有以下几个原因:
- 战略,云栖大会宣布拥抱开源的发展策略;
- 社区,社区反馈的问题得不到及时解决,聆听社区的声音能够激发灵感;
- 生态,繁荣的生态普惠所有人;
- 回馈,分享阿里在服务治理、大流量、超大规模集群方面的经验。
自从2017年7月重启Dubbo开源,Star数增长7428+, Fork数增长3072+, Watch数增加745+,同时社区生态也在不断壮大发展。Dubbo在GitHubJava类项目中Star数排名前10位(Star数为21.5K+),荣获开源中国2017年最受欢迎中国开源软件TOP3(Java类项目第一)。
在分布式RPC框架中,Dubbo是Java类项目中卓越的框架之一,它提供了注册中心机制