SpringCloud的理解(简述)

        总结:在未来的发展中,随着数据量的增长,企业的不断数字化,不断上云,SpringCloud因为其基于Java为基的特点,生态完整且丰富,能在企业使用占有率中迅速增长。 (题外话,基于国内几乎以java为企业开发的基础)

1.类似于Hadoop核心组件的YARN(资源调度器功能):

        微服务是通过请求串联起各个服务之间的关系,通俗点说就是将原来的一个项目通过功能模块,拆分为多个项目,通过网络请求调用其他项目的对外开放的接口,而微服务是通过一个中间件来调度各个项目,将服务注册到中间件上后该中间件监控各个项目的状态是否正常,通过其他的一些请求调度组件来分发请求,如ribbon,dubbo等。而将各模块的拆分,有能够使各个模块能够独立部署,对一些请求频率较高的模块可以灵活部署,比如登录注册模块可能一天请求量才几万次,单独部署一台服务器,而订单模块一天会有上千万笔订单,我可能就会在这个基础上将订单模块分别部署到多台服务器做负载。

微服务是一种思想,分而治之的思想,解耦合的思想。在用户体验层面上,微服务也更适合互联网项目,因为当你将项目拆分后,当其中的某一个模块出现问题,并不会影响整个项目,比如订单创建,和订单的后续处理拆分开来,当创建一笔订单后在创建第二笔订单时,订单创建模块宕机,或者oom,在传统项目中,后续的订单处理,包括登录等等模块都会失效,但是微服务思想却能避免这种问题。

2、Spring Cloud可以帮助解决这些问题:

        使用Spring Boot开发分布式微服务时面临以下问题:

        与分布式系统相关的复杂性----这里包括网络问题,延迟,带宽问题,安全性问题。
        服务发现----服务发现工具管理群集中的进程和服务如何查找并相互通信。它涉及服务目录,在该目录中注册服务,然后能够在该目录中查找并连接到服务。
        冗余----分布式系统中的冗余问题。
        Loadbalancing----负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央处理单元,或磁盘驱动器的分布。
        性能问题----由于各种运营开销而导致的性能问题。
        部署复杂性----对Devops技能的要求。

3.SpringCloud优点:

1、服务拆分粒度更细,有利于资源重复利用,有利于提高开发效率,节约资源。

2、可以更精准的制定优化服务方案,提高系统的可维护性。

3、微服务架构采用去中心化思想,服务之间采用Restful等轻量级通讯,比ESB更轻量

4、适于互联网时代,产品迭代周期更短。

4.SpringCloud缺点:

1、微服务过多,治理成本高,不利于维护系统

2、分布式系统开发的成本高(容错,分布式事务等)对团队挑战大

但是优点大于缺点,目前SpringCloud是一套非常完善的分布式框架,目前很多企业开始用微服务。

       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值