初识spring boot

随笔2个月前发布 玥饼肉
33 0 0

什么是spring boot?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置,Spring Boot使用“约定优于配置”的理念。

Spring Boot的核心功能

可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。

内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。

简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。

自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。

提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。

无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。

单体架构

早期的软件,所有功能都写在一起,这称为单体架构(monolithic software),整个软件就是单一的整体,彷佛一体化的机器。

缺点:

所有功能耦合在一起,互相影响,最终难以管理。

哪怕只修改一行代码,整个软件就要重新构建和部署,成本非常高。

因为软件做成了一个整体,不可能每个功能单独开发和测试,只能整体开发和测试,导致必须采用瀑布式开发模型。

面向服务的架构

所谓服务(service),就是在后台不间断运行、提供某种功能的一个程序。最常见的服务就是 Web 服务,通过80端口向外界提供网页访问。

“面向服务架构”就是把一个大型的单体程序,拆分成一个个独立服务,也就是较小的程序。每个服务都是一个独立的功能单元,承担不同的功能,服务之间通过通信协议连在一起。

优点:

每种服务功能单一,相当于一个小型软件,便于开发和测试。

各个服务独立运行,简化了架构,提高了可靠性。

鼓励和支持代码重用,同一个服务可以用于多种目的。

不同服务可以单独开发和部署,便于升级。

扩展性好,可以容易地加机器、加功能,承受高负载。

不容易出现单点故障。即使一个服务失败了,不会影响到其他服务。

微服务

2014年,Docker 出现了,彻底改变了软件开发的面貌。它让程序运行在容器中,每个容器可以分别设定运行环境,并且只占用很少的系统资源。

显而易见,可以用容器来实现”面向服务架构”,每个服务不再占用一台服务器,而是占用一个容器。

这样就不需要多台服务器了,最简单的情况下,本机运行多个容器,只用一台服务器就实现了面向服务架构,这在以前是做不到的。这种实现方式就叫做微服务。

简单说,微服务就是采用容器技术的面向服务架构。它依然使用”服务”作为功能单元,但是变成了轻量级实现,不需要新增服务器,只需要新建容器(一个进程),所以才叫做”微服务”。

一个微服务就是一个独立的进程。 这个进程可以运行在本机,也可以运行在别的服务器,或者在云端(比如云服务和云函数 FaaS)

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...