1.Maven
Maven是一个项目管理工具,提供了开发人员构建一个完整项目生命周期的框架,开发人员自动的完成项目的基础工具建设。在多团队开发环境下,maven可以设置标准在非常短的时间内完成配置工作
Maven整合ssm:
进步之处:简化了jar包的使用,ssm时期需要导入大量相对应的jar包,但是Maven通过pom文件,通过依赖直接使用相对应的jar包资源。
ssm项目
Maven项目
2.springboot
框架的配置,需要大量的xml文件。为了满足市场需求,spring推出了准生产级别可以快速搭建一个工程的工具—SpringBoot(不需要进行繁琐的发布测试等)。
springboot本质上还是一个maven项目
区别在于,springboot不再需要配置大量xml文件,而是根据jar包,环境选择自动配置de内容,有些环境无法选择的内容,全部在application.properties文件中完成。
此时的springboot项目不再有xml配置文件
springboot也有自己的核心注解@SpringBootApplication
其作用包括,扫描包等等作用
3.nginx
nginx是一个轻量级的web服务器/反向代理服务器,同时还提供了一定的缓存服务
实际开发中,主要用于:
- 动静分离
将动态资源和静态资源进行分离
静态资源(js css html img)交给nginx来进行管理
动态资源 程序返回值会得到响应,交给后端服务器进行处理 - 负载均衡 负载:高并发访问 分摊到每一个节点(服务器)—均衡
Nginx接受到请求之后,决定将请求转发给哪一台服务器进行处理(比如tomcat),最后再将服务器处理之后的结果转发给客户端
总结:Nginx与Maven ,springboot等关系不大,接收请求,再将请求按照逻辑分发,如果是动态资源,那么Nginx会通过判断将其转发给后端服务器,此时会进入Spring等工程阶段。
4.SpringCloud
轻量级的spring社区维护的微服务技术,有很多不同的组件组成(并不是一个框架技术的学习),应用非常的简单,spring将一个成熟的并且不断在更新的技术整合到springcloud中,使得开发微服务结构的时候,快速的配置 以及发布运行
包含的组件 :
eureka服务治理组件 ribbon负载均衡组件 zuul网关
springcloud config feigen负载均衡 hystrix熔断器
用处:解决拆分之后的独立应用之间的调用问题
实际处理:
springcloud+springboot+其他技术(redis mysql…)
springboot+dubbo(springcloud类似的一种微服务技术)
springboot+springcloud alibaba(spring整合了alibaba的微服务技术)
未完待续。。。。。。