Java教程

Java面试题-day23 SpringBoot

本文主要是介绍Java面试题-day23 SpringBoot,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. Springboot和springcloud?

现在很多公司已经开始使用微服务架构(SpringCloud或Dubbo),而SpringBoot对于微服务的环境支持很好。

  • 微架构,与Spring4一起诞生。比如@RestController
  • 可以快速上手,整合一些子项目(开源框架或第三方开源库)
  • 可以依赖很少的配置就可以快速搭建并运行项目
  • 基于spring,开发者快速入门,门槛很低。
  • Springboot可以创建独立运行的应用而不依赖容器
  • 不需要打成war包,可以放入tomcat中直接运行。
  • 提供maven极简配置,缺点是会引入些项目不需要的包。
  • 提供可视化的相关功能,方便监控,比如性能、应用的健康程度。
  • 简化配置,不需要过多的xml
  • 为微服务springClouod铺路,springBoot可以整合各种架构来构建微服务,比如dubbo、thrift等。

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

微服务架构需要的功能或使用场景
1:我们把整个系统根据业务拆分成几个子系统。
2:每个子系统可以部署多个应用,多个应用之间使用负载均衡。
3:需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现。
4:所有的客户端都通过同一个网关地址访问后台的服务,通过路由配置,网关来判断一个URL请求由哪个服务处理。请求转发到服务上的时候也使用负载均衡。
5:服务之间有时候也需要相互访问。例如有一个用户模块,其他服务在处理一些业务的时候,要获取用户服务的用户数据。
6:需要一个断路器,及时处理服务调用时的超时和错误,防止由于其中一个服务的问题而导致整体系统的瘫痪。
7:还需要一个监控功能,监控每个服务调用花费的时间等。
目前主流的微服务框架:Dubbo、 SpringCloud、thrift、Hessian等,目前国内的中小企业用的大多数都是Dubbo,SpringCloud估计很少,也许有些开发同学都没听说过。
 springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。
SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能

这篇关于Java面试题-day23 SpringBoot的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!