SpringCloud 是一系列框架的有序集合,它利用SpringBoot 的开发便利性简化了分布式系统的开发,比如服务发现.服务网关.服务路由.链路追踪等。其设计目的是为了简化Spring 应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无需定义大量的XML配置。通过这种方式,SpringBoot 致力于在蓬勃发展的快速应用开发领域成为领导者。SpringCloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:Spring cloud提供了构建分布式系统所需的“全家桶”。核心组件如下:
Eureka:各个服务启动时,Eureka Client 都会将服务注册到Eureka Server,并且Eureka Client 还可以反过来从Eureka Server 拉取注册表,从而知道其他服务在哪里
Ribbon:服务间发起请求的时候,基于Ribbon 做负载均衡,从一个服务的多台机器中选择一台
Feign:基于Feign 的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求
Hystrix:发起请求是通过Hystrix 的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题
Zuul:如果前端.移动端要调用后端系统,统一从Zuul 网关进入,由Zuul网关转发请求给对应的服务
猜你喜欢:
SpringBoot整合NoSQL 数据库(Redis)实现缓存
Spring Boot框架和传统Spring框架相比有哪些优势?
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/253869.html