美文网首页
spring cloud微服务主要组件作用和架构介绍

spring cloud微服务主要组件作用和架构介绍

作者: 小码的小坑 | 来源:发表于2017-09-09 23:46 被阅读842次

    解决什么问题


    →spring cloud是什么,解决什么问题;

    →spring cloud通过什么组件相互解决问题,以及组件相互间的协作情况;

    →spring cloud不适用的情况,以及使用时需要注意的情况问题;

    →后续持续更新各组件的介绍、整合配置、原理分析、源码导读等,使整个架构能够实施到生产环境。

    Spring Cloud是什么


    引用官方的说明(懒得看这个):

    Spring Cloud为开发人员提供了快速构建分布式系统中的一些通用模式(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式 会话,群集状态)。 分布式系统的协调导致了锅炉板模式,并且使用Spring Cloud开发人员可以快速地站起来实现这些模式的服务和应用程序。 它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心和受管平台,如Cloud Foundry。

    为什么使用Spring Cloud


    →有spring这个爸爸,在企业级开发框架中无人能及,社区活跃确保后续的更新、完善。

    →生态圈庞大,提供了一整套服务治理的子项目,几乎方方面面都考虑到,能让开发者快速的上手实现自己的应用。

    →组件整合方便,开发开箱即用。

    →spring cloud活跃度很高,教程很丰富,遇到问题很容易找到解决方案。

    →spring cloud微服务相较soa的架构更偏向于“云”的思想。当公司有需求把系统迁移到云时,迁移成本更低。

    →spring cloud微服务更容易做多语言系统的协作整合,和其他外部服务、接口的协作也更方便。

    →结合运维工具(如容器docker)、系统管理监控工具(如ELK等)、项目管理工具(如maven)、测试工具等,比较方便实现自动化的运维集成和持续开发、统一管理、热部署扩容等。从而提高开发、运维效率。

    Spring Cloud Netflix微服务组件架构图


    部分核心组件流程图:

    热更新流程图:

    Spring Cloud应用注意事项


    → 不适合小型独立的项目。可以使用spring boot开发。

    →组件多,用好学习成本较高。

    →入门门槛较低,精通门槛高。

    →有一定的自动化运维知识,堆人方式的运维会疯掉的。

    →服务拆分的颗粒度需要注意拿捏。整体的思路是以单一原则为指导,每个服务具备各自满足单一原则的服务提供。

    相关文章

      网友评论

          本文标题:spring cloud微服务主要组件作用和架构介绍

          本文链接:https://www.haomeiwen.com/subject/hbtzjxtx.html