一:SpringBoot的特点
1 为什么要用SpringBoot:
SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
1)快速整合第三方框架(Maven依赖关系,Maven继承);
2)打包方式完全采用注解化;
3)Spring3.0之后采用注解方式启动SpringMVC,SpringBoot Web组件集成SpringMVC框架
4)简化XML的配置;
5)内置嵌入HTTP服务器(Tomcat(默认)、Jetty),降低了对环境的要求;
6)最终以Java应用程序进行执行(SpringBoot项目中没有Web.xml),运行中应用状态的监控;
2 Spring Boot 的优点有:
1)减少开发,测试时间和努力。 使用 JavaConfig 有助于避免使用 XML。
2)避免大量的 Maven 导入和各种版本冲突。
3)提供意见发展方法。
4)通过提供默认值快速开始开发。
5)没有单独的 Web 服务器需要。这意味着你不再需要启动 Tomcat,Glassfish 或其他任何东 西。
6) 需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添加 用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。
7)您甚至可以将 @Autowired 添加到 bean 方法中,以使 Spring 自动装入需要的依赖关系中。 基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring 将在 (application{environment} .properties)中加载后续的应用程序属性文件。
3 Spring Boot 中的监视器是什么?
Spring boot actuator 是 spring 启动框架中的重要功能之一。Spring boot 监视器可帮助您访 问生产环境中正在运行的应用程序的当前状态。有几个指标必须在生产环境中进行检查和 监控。即使一些外部应用程序可能正在使用这些服务来向相关人员触发警报消息。监视器 模块公开了一组可直接作为 HTTP URL 访问的 REST 端点来检查状态。
4 什么是 YAML?
YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML 文件就更加结构 化,而且更少混淆。可以看出 YAML 具有分层配置数据
5 什么是 Spring Batch?
Spring Boot Batch 提供可重用的函数,这些函数在处理大量记录时非常重要,包括日志/跟踪,事务管理,作业处理统计信息,作业重新启动,跳过和资源管理。它还提供了更先进的技术服务和功能,通过优化和分区技术,可以实现极高批量和高性能批处理作业。简单以及复杂的大批量批处理作业可以高度可扩展的方式利用框架处理重要大量的信息。
6 什么是 FreeMarker 模板?
FreeMarker 是一个基于 Java 的模板引擎,最初专注于使用 MVC 软件架构进行动态网页生 成。使用 Freemarker 的主要优点是表示层和业务层的完全分离。程序员可以处理应用程序 代码,而设计人员可以处理 html 页面设计。最后使用 freemarker 可以将这些结合起来,给 出最终的输出页面。
7 Thymeleaf
- Thymeleaf 是 Web 和独立环境的现代服务器端 Java 模板引擎,能够处理HTML,XML,JavaScript,CSS 甚至纯文本
- 动静结合,开箱即用,多方言支持,与SpringBoot完美整合
二 Spring Cloud
1,什么是spring cloud
Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。 Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序
- SpringCloud优势
使用Spring Boot开发分布式微服务时,我们面临以下问题
· 1)与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。
· 服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目录,在该 目录中注册服务,然后能够查找并连接到该目录中的服务。
· 2)冗余-分布式系统中的冗余问题。
· 3)负载平衡 --负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央 处理单元,或磁盘驱动器的分布。
·4)性能-问题 由于各种运营开销导致的性能问题。
·5)部署复杂性-Devops技能的要求。
3,Dubbo:
1)一款分布式服务框架
2)高性能和透明化的RPC远程服务调用方案
3)SOA服务治理方案
4,Dubbo优缺点
优点:
透明化的远程方法调用
- 像调用本地方法一样调用远程方法;只需简单配置,没有任何API侵入。
软负载均衡及容错机制
可在内网替代nginx lvs等硬件负载均衡器。
服务注册中心自动注册 & 配置管理
不需要写死服务提供者地址,注册中心基于接口名自动查询提供者ip。
使用类似zookeeper等分布式协调服务作为服务注册中心,可以将绝大部分项目配置移入zookeeper集群。
服务接口监控与治理
Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理。
缺点:只支持JAVA语言
6,为什么使用Eureka注册中心
提高系统的高可用性,避免单个服务器宕机,服务不可用的情况
四 FastDFS
1,FastDFS简介
1.FastDFS是一款类似Google FS的开源分布式文件系统,是纯C语言开发的。它是一个开源的轻量级分布式文件系统,对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、下载)等。
2.解决了大容量存储(大量存储,不是大文件存储)和负载均衡的问题,高度追求高性能和扩展性,其可安装的插件模块非常多,包括Nginx模块(提供文件访问的负载均衡)。
3.支持横向组拓展,支持同步热备,支持token防盗链等。
4.fdfs不是通用文件系统,访问需要走api
2,FastDFS储存特点
1.FastDFS采用了分组存储(group)的方式。存储系统由一个或多个group组成,group与group之间的文件是相互独立的,所有group的文件容量累加就是整个存储系统中的文件容量。
2.一个group可以由一台或多台存储服务器组成,一个group下的存储服务器中的文件都是相同的,group中的多台存储服务器起到了冗余备份和负载均衡的作用。
3.一个组的存储容量为该组内存储服务器容量最小的那个,不同组的Storage server之间不会相互通信,同组内的Storage server之间会相互连接进行文件同步。
4.在group中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
5.当存储空间不足或即将耗尽时,可以动态添加group。只需要增加一台或多台服务器,并将它们配置为一个新的group,这样就扩大了存储系统的容量。
6.FastDFS会直接使用OS的文件系统存储文件,并不会对文件进行分块存储(HDFS),文件由组名和文件名进行标识。