花了半天时间把Spring Cloud Alibaba 的
Nacos
、Sentinel
和Seata
简单的使用了一下,下面是我的一些看法
Nacos #
Nacos 干了三件事,第一个就是把服务注册的活给揽过来了,第二个就是把配置中心的活给揽过来了,而且由于他是要监控各个服务的心跳的,
所以他顺便把配置同步这个活也给抢过来了
Nacos做了很多事,美中不足的地方是,Nacos更希望你在网页上进行配置(当然可以通过url),比如说Spring Cloud Config 是希望你更新源代码然后再来将配置给更新 掉
Sentinel #
Sentinel是一个流量控制的中间件,作用和Hystrix差不多,不过,相比于Hystrix,Sentinel提供了一个web界面来
帮助你定制限流规则,主要是保护后端
这些规则其实也很简单,多尝试一下就好了,我其实很好奇,Sentinel在其中做的工作是什么,他是如何保证异常流量不
把自己给打爆的,当然负载均衡可以一定量的缓解这些
Seata #
这个号称实现了分布式事务的软件,我没搭起来,尝试几个小时无果后,而且网上的资料也异常的少,甚至他们官方写的demo我也跑不起来
我看他们的start虽然多,但是issue也多,每个版本都有坑
我也尝试去搜索有没有大公司尝试使用这个分布式事务,很遗憾没找到,首先限死了用MySQL,而且非常恶心的事每个数据库上面都得创建一个undo
表
我可以理解你在一个数据库上记录这些东西,但是我没法理解你要所有的数据库都建这么个表
而且非常坑的事,官网SSL证书当天正好到期,在我看了引用了这么个分布式事务,第一肯定涉及到了很多锁,我看原理介绍上
也说了开始事务前会上锁,对于现在通用解决方案都是消息队列来处理这个东西的,引入分布式锁并发不高,而且万一锁表凉凉了
所以我就去找有没有什么大公司实践过了,可是很遗憾好像没有,也没没看到有什么性能测试,而且部署半天报各种问题,每个版本都不一样,怕是个PPT项目
还是改天有空的时候在研究研究
总结 #
其实Spring Cloud Alibaba比较重要的一个部分就是将Dubbo集合到了Spring Cloud,所以我接下来的时间得好好看看Dubbo了,目前Spring Cloud这些组件只能说都上手摸了一会
要想真正的成长还得去实际项目考验