关于Spring cloud的一些思考

写在开头的一些话

随着分布式架构理念的推广,微服务越来越得到传统企业及互联网行业的青睐,而Spring Cloud由于得到了Spring社区及Netflix的成功经验,正逐步成为了微服务架构下的首选,然而我最近却越来越感觉到Spring Cloud的臃肿及不方便性,以下是本人的一些感想,由于知识面有限的原因,如果有不对之处,属于正常,不喜勿喷

Round 1:全家桶的方式

Spring Cloud的全家桶方式其实在我感觉就是违背了微服务的设计理念,微服务提倡的是小而美的架构,然而Spring Cloud由于依赖了Netflix及Spring社区,依赖是非常之多,有可能用不到但是还是给你依赖进来,这种方式让人在包管理上要花费数倍的时间去解决有可能产生的冲突问题

Round 2:API契约,外部API和内部API无法从技术手段上区分

对于Spring Cloud来说,restful api是SC的基础,不可否认restful是一个良好的契约方式,restful api作为前端和后端的交互契约进而演化为所有大后端的服务调用的契约,所带来的不可约束性太强了,对于一个开发人员来说,他其实在开发时,并不知道我的api是用在最外端的设备端或者PC端调用,最终导致的是,对于许多开发人员来说,面向外部的API和面向内部的API需要有强有力的文档来说明,而最终导致的问题就是开发人员分不清楚这是一个服务化的API还是一个面向外部用户的API

Round 3:Feign客户端调用方式

Feign作为Spring Cloud的Http客户端,Spring Cloud在为了兼容Spring MVC做了很多的工作,看看Feign的定义方式:

 @RequestMapping(value = "/registed", method = RequestMethod.GET)
  public ExchangeVo create(@RequestBody ExchangeVo exchangeVo);

如果使用了RequestBody这样的对象传输方式,Feign是把Get请求强制变为Post请求,估计有的人会喷说,用了这种应该要变成Post,然而我问一个场景,如果一个查询,而查询参数的确是有很多,10多个,这种按照restful的定义是获取资源的,你变成Post不是违背了restful的设计原则么?再有:

Round 3:服务粒度

对于Spring Cloud来说应用作为服务粒度,这种粒度我个人认为太过于粗犷,服务的API无法通过注册中心来获取,而如果要做API的监控,必须要依赖于具体的服务

Round 4:服务提供者上线及时感知

对于Spring Cloud来说,从注册中心拉去服务列表后缓存并推送给Ribbon是作为软负载均衡的前提,这个对于euraka,consul来说也是不得不这样做的,但是带来的问题将是如果有一个提供者实例上线后,并不能马上让服务消费者及时感知,并马上能够进入软负载均衡的列表

Round 5:没有一个官方的Admin OPS管理平台

没有Admin OPS平台的话,让开发人员没有办法OverView一个全局的大概的服务健康状况

Round 5:性能低劣的网关

基于Servlet规范的Zuul性能提升都外包给了Web容器,而这种Web容器并不是为转发请求服务而存在的(Servlet规范在2.0版本是数据传输是同步阻塞的),而Zuul2.0一而再再而三的Delay情况下把业界的耐心给消耗光了,而Spring Cloud也开发了自己的Gateway,然而前提是Spring Boot2.0,JDK1.8以上,并不算一个成熟可以上线的产品

Round 6:Http Restful低劣性能

基于Http文本的方式比不上二进制传输这点大家都知道,而Http短链接和基于网络的长连接相比,性能也是没办法比较,对于真正用户端和服务端来说,网络抖动没办法避免,但是对于内部服务之间的调用来说,同一个IDC下,长连接是最佳选择

总结

以上是一些个人在使用Spring Cloud的感触及感想,从个人角度来说,如果公司规模是小团队,Spring Cloud是一个很好的选择,然后当达到这种中等规模来说,Spring Cloud并不是一个很好的选择,团队的复杂性所带来的人员的沟通的成本是无法估量的,而通过技术手段来解决是一个最好的选择

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335