以前的项目一直使用Dubbo,最近SpringCloud比较火,恰好这个时期比较特殊,就在家里仔细研究了一下SpringCloud,但是学习的过程中发现SpringCloud真的不一定适合所有人:主要和通讯协议有关,Springcloud使用HTTP的REST协议,Dubbo使用RPC调用。

1、对性能要求比较高的项目不建议使用SpringCloud【和Dubbo的比较中,性能相差至少一倍以上】

2、项目单纯由Java项目构成不建议使用SpringCloud【如果跨多种语言,使用Springcloud比较好,毕竟REST协议】

3、项目中要求开发进度快的【Dubbo只要定义一个接口就可以了,但是SpringCloud的REST协议方便的同时也是双刃剑,接口一致性比较难以控制】

做一个Jmeter的性能测试吧。测试方式很简单,就是dubbo的做一个(provider、consumer各一个),springcloud的做一个最简单的demo(consumer一个;provider方我启动了两个,否则压测并发数很快就死掉了,并对参数进行了简单调优),然后使用Jmeter进行压测,你有兴趣自己也去做一下。这里提供一下结果抓图分享一下。

Jmeter的线程数设置为1000,循环100次。

一、Dubbo模式17秒跑完10w个请求。

二、SpringCloud模式51秒跑完10w个请求。

 

老板非要喜欢SpringCloud你用就是了。

当然仁者见仁智者见智,你喜欢哪个就用哪个吧。毕竟黑猫白猫抓到老鼠就是好猫。

 

=======================================================

再在后面跟一些技术干货吧,自己好好学习。

SpringCloud的组件架构

Dubbo的框架

 

Dubbo和SpringCloud的性能比较

 

技术
©2019-2020 Toolsou All rights reserved,
pytorch之ResNet18(对cifar10数据进行分类准确度达到94%)PowerShell中使用WebClient 下载文件并获取下载进度Go语言 数组初始化和基本操作11-5 指定位置输出字符串PostgreSQL: 九. 索引冲突声明(conflicting declaration)解决(精华)2020年6月26日 C#类库 日志帮助类npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法ElementUI中获取select 的label值(精华)2020年8月15日 redis数据库 StackExchange.Redis中Set类型(C#版)