首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Spring Cloud 中的分布式组件五花八门,我到底该怎么学?

    点击关注公众号,Java干货及时送达 分布式架构的演进 在软件行业,一个应用服务随着功能越来越复杂,用户量越来越大,尤其是互联网行业流量爆发式的增长,导致我们需要不断的重构应用的结构来支撑庞大的用户量,最终从一个简单的系统主键演变成了一个非常复杂的可以支撑高并发的高可用的分布式架构,但是一个系统再复杂也是不断演变来的,所以从另一方面来说,其实是业务(问题)推动了技术的发展。 传统的单体应用 在早期,我们开发的都是单体应用,也就是一个系统所有的模块都在一个服务上: 这种传统的应用开发和运维都非常简单,随着

    02

    一起玩转微服务(1)——概念

    随着各行各业公司的快速发展,业务规模的不断扩大,不可避免的造成原有架构不能够适应快速的增长和变化。这时,微服务就进入大家的视野,其实在微服务之前,很多的公司已经做过服务化的改造,并且取得了一定的成果,但是对于整体流程的标准化还有一定有差距。那么,什么是微服务呢? 准确的说,微服务是一种软件架构模式,将大型系统或者复杂的应用分割成多个服务的架构,服务之间互相协调、互相配合,为用户提供最终价值。每个服务都有独立的生命周期,可以单独的维护和部署,各个业务模块之间是松耦合的,比传统的应用程序更有效地利用计算资源,应用的扩展更加灵活,能够通过扩展组件来处理功能瓶颈问题。这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个完整的应用程序的全新迭代。 一个微服务的架构如图所示,单体应用被拆分成多个微小的服务:

    03

    Spring Cloud简介

    Spring Cloud是一个相对比较新的微服务框架,2016年才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。 Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。当然Spring Cloud还有额外扩展的其它很多组件,包括了服务链路监控和跟踪,消息总线,数据流处理,批量任务处理等。而对于整个Spring Cloud微服务框架简单来说,即是:你只要划分到你的微服务组件和模块,并定义好需要暴露的API接口,那么剩下的整个开发和传统方式没有太大的区别,你开发完成的组件集成起来就是一个分布式可扩展的微服务环境。里面设计到的接口发布,服务注册,服务调用和路由,服务监控,健康检测和流控等都会由微服务框架来帮你完成。 正是有了成熟的微服务框架,我们才更应该将微服务架构设计重心从技术底层转移到组件划分和接口设计上。

    04
    领券