微服务架构--SpringCloud(2)

1.SpringCloud  简介及应用场景 、与Dubbo做简单对比

*1.1是什么?

*SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中信,全链路监控,服务网管,负载均衡,熔断器等组件,除了基于NEtFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

*SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、为代理、事件总线、全局锁、决策竞选、分布式会话等等,他们都可以用SpringBoot的开发风格做到一键启动和部署

*SpringBoot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者流出了一套简单易懂、易部署和易维护的分布式系统开发工具包

*SpringBoot开发的专业的工程解决专业的问题的一个一个独立的进程,要把这些微服务很好的并在一块,就需要一个架构,就是SpringCloud

*总结:

*SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称为服务全家桶

*2. SpringCloud和SpringBoot是什么关系:

*Boot关注的是微观,具体就是一个一个的微服务

*Cloud关注的是宏观,是分布式微服务架构下的一站式解决方案

*拿医院举例子,Boot是医院的一个个科室,cloud是将科室组合起来对外的一个医院

*Boot可以单独使用,不依赖于Cloud,Cloud必然依赖于Boot

*SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架

*3.Dubbo是怎么到SpringCloud的?优缺点

3.1阶段:

*通过CDN-->防火墙-->Nginx(负载均衡和转发,反向代理,动静分离...)-->LVS+Keepalived实现高可用-->Tomcat集群-->分布式文件系统(MoglieFS、FastDFS(流行){小图片不允许保存到数据库,都是保存到分布式文件系统})-->ZK(服务注册和发现)-->Dubbo(服务调用和治理)-->消息中间件(RabbitMQ、ActiveMQ(解耦和分流))-->分布式搜索引擎(Solr、elasticsearch)-->Redis(为保证Redis集群)-->Codis(作为Redis集群解决方案)-->一主二从,哨兵模式,完成了分布式Nosql数据库的高可用-->通过阿里的mycat实现分库分表、主从复制、水平拆分、垂直拆分

*3.2目前成熟的互联网架构(分布式+服务治理Dubbo)

*3.3选择技术选型还要看社区活跃度等 数据说话 Cloud明显比Dubbo强烈

*4.最大区别:

*SpringCloud抛弃了Dubbo的RPC远程调用通信,采用的是基于HTTP的REST方式

*4.1 严格来说

*这两种方式各有优劣。算从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。

*5. 品牌机与组装机的区别: *SpringCloud的功能比Dubbo更加强大,涵盖面更广,而且作为Spring的拳头项目,它也能够与SpringFRamework、SpringBoot、SpringData、SpringBatch等其他Spring项目完美融合,这些对于微服务而言是至关重要的。使用Dubbo构建的微服务架构就像组装电脑,各环节我们的选择自由度很高,但是最终结果很有可能因为一条内存质量不行就点不亮了,总是让人不怎么放心,但是如果你是一名高手,这些都不是问题;而SpringCloud就像品牌机,在SpringSource的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。

*6.总结:(刘军)

*Dubbo的定位始终是一款RPC框架,而SpringCloud的目标是微服务架构下的一站式解决方案;Dubboo可以类比到Netflix OSS技术栈,而SpringCloud集成了Netflix OSS技术栈

*在面临微服务基础架构选型时Dubbo与Spring Cloud只能二选一

猜你喜欢

转载自blog.csdn.net/debugbugbg/article/details/81214587