CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

SpringBoot微服务框架初探-源码交易平台丞旭猿

目录

1 案例描述与分析 2

2 Spring Boot介绍 2

2.1 Spring核心功能 2

2.2 Spring Boot的优缺点 2

3 快速搭建 3

4 应用监控 7

5 微服务、原生云应用 11

6 总结 12

关键词:

Spring SpringBoot SpringCloud 微服务框架 微服务治理框架 快速开发

摘 要:

SpringBoot特性讲解,简单项目构建,SpringBoot的应用监控。微服务治理框架Spring Cloud简单讲解

案例描述与分析

Spring Boot推出以来得到广大Java开发者的追捧和个大厂商的支持。对于之前基于Spring架构的Java EE项目能够很快速的切换到Spring Boot上来。

Spring Boot介绍

Spring核心功能

  1. 独立运行的Spring项目

Spring Boot 可以以jar包的形式独立运行,运行一个Spring Boot项目只需要通过java –jar **.jar来运行

  1. 内嵌Servlet容器

Spring Boot可选择内嵌的Tomcat、Jetty,这样我们无需以war包的形式部署项目。

  1. 提供starter简化Maven配置

Spring Boot提供了一系列的start pom 来简化Maven的依赖加载。

  1. 自动配置Spring

Spring Boot会根据在类路径中的jar包、类,为jar包里的类自动配置Bean,这样会极大的减少我们要使用的配置。

  1. 准生产的应用监控

Spring Boot提供基于http、ssh、telnet对运行时的项目进行监控。

  1. 无代码生成和XML配置

Spring Boot的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性。Spring Boot不需要任何XML配置即可实现Spring的所有配置。

Spring Boot的优缺点

  1. 优点
  2. 快速构建项目;
  3. 对主流开发框架的无配置集成;
  4. 项目可以独立运行,无需外部依赖Servlet容器;
  5. 提供运行时的应用监控;
  6. 极大地提高了开发、部署效率;
  7. 与云计算的天然集成;
  8. 缺点
  9. 书籍文档较少

快速搭建

  1. 环境介绍

IDE:IntelliJ IDEA,Spring Boot版本

  1. 搭建步骤

1)新建Spring Initializr项目,如图1

图1

2)填写项目信息,如图2

图2

3)选择项目使用的技术,如图3

图3

4)创建完成,项目结构及依赖树如图4

图4

5)运行

IntelliJ会自动识别带有@SpringBootApplication注解的主类,点击Run直接运行,如图5

图5

运行结果如图6

图6

应用监控

对应用运行时的实时状态监控对于程序运行时候的问题定位很重要,Spring Boot提供了运行时的应用监控和管理功能。我们可以通过http、JMX、SSH协议来进行操作。审计、健康及指标信息将会自动得到。

Spring Boot提供了监控和管理端点,如表1

端点名

描述

actuator

所有EndPoint的列表,需要加入Spring Hateoas的支持

autoconfig

当前应用的所有自动配置

beans

当前应用的所有Beans的信息

configprops

当前应用中的所有配置信息

dump

显示当前应用线程状态信息

env

显示当前应用的环境信息

health

显示当前应用的健康状况

info

显示当前应用信息

metrics

显示当前应用的各项指标信息

mappings

显示所有的@RequestMapping映射的路径

shutdown

关闭当前应用(默认关闭)

trace

显示追踪信息(默认最新的http请求)

表1

  1. http方式

在pom.xml中加入下面依赖即可:

org.springframework.boot

spring-boot-starter-actuator

  1. 测试端点

这里我以实际项目做演示

  1. actuator

访问http://localhost:8088/actuator/,结果如图7

图7

  1. beans

访问地址:http://localhost:8088/actuator/beans,结果如图8

图8

  1. mappings

访问地址:http://localhost:8088/actuator/mappings,结果如图9

图9

微服务、原生云应用

微服务是近两年非常火的概念,它的含义是:使用定义好的边界的小的独立组件来做好一件事情。微服务是相对于传统的单块式架构而言的。

单块式架构是一份代码,部署和伸缩是基于单个单元进行的。它的优点是易于部署,但是面临着可用性低、可伸缩性差、集中发布的生命周期以及违反单一功能原则。微服务的出现解决了这个问题,它以单个独立的服务来做一个功能,且要做好这个功能。但使用微服务不可避免地将功能按照边界拆分为单个服务,体现出分布式的特征,这时每个微服务之间的通信将是我们要解决的问题。

目前业界公认的微服务治理架构包括Spring Cloud和阿里巴巴的Dubbo,针对项目背景、社区活跃度、架构完整度来说Spring Cloud还是优于Dubbo。

Spring Cloud基于Spring Boot,为我们提供了配置管理、服务发现、断路器、代理服务等我们在做分布式开发时常用问题的解决方案。

基于Spring Cloud开发的程序特别适合在Docker或者其他专业的PaaS部署,所以又称作原生云应用。

  1. 配置服务

Spring Cloud提供了Config Server,它有在分布式系统开发中外部配置的功能。通过Config Server,我们可以集中存储所有应用的配置文件。

Spring Cloud提供了注解@EnableConfigServer来启用配置服务

  1. 服务发现

Spring Cloud通过Netflix OSS的Eureka来实现服务发现,服务发现的主要目的是为了让每个服务之间可以通信。Eureka Server为微服务注册中心。

  1. 路由网关

路由网关的主要目的是为了让所有的微服务对外只有一个接口,我们只需访问一个网关地址,即可由网关将我们的请求代理到不同的服务中。

  1. 负载均衡

Spring Cloud提供了Ribbon和Feign作为客户端的负载均衡。在Spring Cloud下,使用Ribbon直接注入一个RestTemplate对象即可,此RestTemplate已做好负载均衡问的配置;而使用Feign只需定义个注解。

  1. 断路器

断路器主要是为了解决当某个方法调用失败的时候,调用后备方法来替代失败的方法,以达到容错、阻止级联错误等功能。代表性的就是雪崩问题。

总结

Spring Boot作为一个优秀的微服务框架,值得学习和在项目中应用。

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容