spring cloud闲聊 weir 2018-05-06 17:08:27.0 微服务 2306 今天又谈起微服务我差不多14年开始听说逐步接触学习,从刚开始的saas、paas、iaas还学习了spring实现的osgi框架包括tomcat的virgo,(http://www.osgi.com.cn 在这个网上还能看到)到现在的dubbo、springcloud、apache serviceComb、Service Mesh等等,之前的博客文章中谈到过也就前两年的事情,今天要聊聊的是springCloud。 其实我也是刚接触,说实话这个世界上被没有什么完美的方案,完美只不过是时间和人力资源不断迭代,作为基础架构springCloud努力打造分布式架构系统的一站式服务,涉及内容是非常多也比较全面,迭代速度也是快的惊人毕竟太年轻,这两年也是俘获的国内大量用户。现在再搭项目好像不用spring boot、spring cloud就out的样子,基本成了主流。 这里想谈谈java和其他语言的处境关系,先说web项目javaWeb可以说是最方便的开发工具这还是要归功于spring,EJB3.0的出现没有拯救J2EE,spring的出现让web开发快速起来,易于上手,EJB好像没大家忘了一样。Spring mvc 后来spring boot的出现更是让java Web开发变得似乎傻瓜起来,再加上spring Cloud的到来,几乎要天下无敌的趋势。对于web项目确实是这样你找不出更完美的选择了,但是现在的需求更复杂更广泛了,这几年抄的热的人工智能IA,云计算,大数据分析,分布式数据库,海量数据分析等等,系统需要高可用、高可扩展、高性能,可以很方便的进行测试、预发布再到正式环境,需要有多人协作能力,面向接口开发接口调用能力,需要有前段后端分离能力,需要有可以处理分布式事务能力,需要有多语言协同调用能力等等,所以容器兴起了,云计算兴起了,不再是单单的基础架构了,我们还需要缓存,大数据处理、海量日志收集分析等等。 稍微大一点的公司项目就不是一两个了,项目项目之间开始有相互调用影响协作的需求,到这个时候就需要有个统一的基础架构来支撑公司里面的各个项目作统一管理,如果有多语言的情况事情可能变得复杂起来,如果再碰到老系统重构的情况这个工程就大起来,对于一个分布式系统来说spring cloud可以解决百分之五十的问题但是还有更为头疼的那百分之五十的问题spring cloud并没法解决,比如数据库方面,事物方面,日志收集方面,分布式后的自动化管理方面,对于一个大项目来说后面的百分之五十才是头疼的事情。 Docker 和kubernetes的出现似乎让分布式系统看到了希望,让公司里面的系统统一管理起来成为可能,让部署和扩展变得简单起来。 最近比较火的Service Mesh似乎要终结分布式架构纷纷正在,比较期待,说不定明年我又会来写一篇文章了哈哈哈!!!