前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[微服务系列] 微服务构建框架--Spring Boot

[微服务系列] 微服务构建框架--Spring Boot

作者头像
用户2017109
发布2018-06-19 11:32:28
6400
发布2018-06-19 11:32:28
举报

一、微服务

作为微服务系列的第一篇文章,首先要了解一下微服务的概念。微服务是系统架构上的一种风格,主要是将原本单体的系统拆分为多个小型的服务,这些小型的服务在各自的进程中运行,每个服务之间的通信是基于HTTP的Restful API进行通信。每个服务都维护着各自的数据存储、业务开发、自动化测试案例等,但它们都是围绕着系统中某一项或者一些耦合度较高的业务功能进行构建。

二、 SpringBoot

SpringBoot是构建微服务的基础,因为其自动化配置、快速开发、轻松部署等一些特性都是非常适合作为微服务架构中各个微服务的框架。它的主要作用就是创建和启动基于Spring框架的项目,帮助开发人员容易的、迅速的创建出独立运行和产品级别的基于Spring的应用。SpringBoot具有以下特性:

  • 创建独立运行的基于Spring的项目
  • 直接嵌入Tomcat/Jetty服务器
  • 解决大量的配置问题,通过一系列Starter POMs,提供模块化的依赖管理工作
  • 提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
  • 供推荐的基础 POM 文件来简化 Apache Maven 配置

三、快速入门

1. 系统及工具版本要求
  • Java 1.7+
  • Maven 3.5+
  • Spring Framework 4.2.7+
  • eclipse/intellij
2. 项目搭建
  1. 选择SpringBoot项目

2. 自定义GroupID和ArtifactID

3. 选择Web下的web,方便之后构建Restful API 接口

4. 完成

5. 项目结构

3. 添加RESTFul API接口

在包com.shexd.springbootdemo.Controller;中添加如下代码

4. 启动应用

启动Springboot有多种方式:

  • 将应用作为Java应用程序,直接使用main函数来启动
  • 因为应用使用Maven管理,并且应用中使用spring-boot-maven-plugin插件,所以,可以使用Maven的命令来启动应用,如下是应用在不同声明周期所用到的不同的maven命令
  • 将应用打包成Jar包,使用java -jar xxxx.jar命令来启动项目
5. 测试

测试分为两种方式:

  • 使用单元测试来测试接口
  • 使用网页直接访问
  • 使用postman接口测试工具来测试接口
  1. 了解以上的知识之后,我们使用main函数启动项目,然后访问localhost:8080/即可访问到主页。
  2. 使用单元测试进行测试,代码如下:
4. 实时掌握应用的健康状况

在微服务中,我们是将单体应用拆分为多个小的服务进程,但是随着业务和微服务应用逐步增多,那么部署应用的数量也随之增多,使得传统的运维的复杂度大大提升。这时就需要一套自动化监控的机制来实时的监控应用的运行状态,并根据一些指标来完成相应的操作。 在springboot中,spring-boot-starter-actuator模块为应用提供了一系列的用于监控的端点。通过此模块,我们可以获取程序中加载的应用配置、环境变量、内存信息、线程池信息以及配置报告等内容。

1. 在pom中添加模块
2. 配置健康监控的端口

通过配置此端口,可以和应用本身的端口区分开,如果不指定,则使用和server相同的端口

application.yml文件中设置如下:

3. 启动应用并查看健康状况

访问http://localhost:60000/beans,获取应用上下文创建的所有Bean

访问http://localhost:60000/mappings,返回所有Spring MVC的控制器映射关系报告

更多接口信息如下

该模块主要分为如下的三类及每个类对应的一些接口信息:

应用配置类:

HTTP方法

API

描述

GET

/autoconfig

获取应用自动化配置报告,包括自动化配置候选项

GET

/beans

获取应用上下文创建的所有Bean

GET

/configprops

获取配置的属性信息报告

GET

/env

获取所有可用的属性报告

GET

/env/{name}

查看具体变量的值

GET

/info

返回应用自定义的信息

度量指标类

HTTP方法

API

描述

GET

/metrics

返回当前应用的各类重要度量指标

GET

/metrics/{name}

查看具体指标

GET

/health

获取应用各类健康指标信息

GET

/dump

暴露程序运行中的线程信息

GET

/trace

返回基本的http跟踪信息

操作控制类

HTTP方法

API

描述

POST

/shutdonw

关闭应用

四、结束

此文主要是通过构建Springboot项目,实现了Restful接口,并添加监控信息,以对微服务的基本框架有个大概的轮廓。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瞎说开发那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 系统及工具版本要求
  • 2. 项目搭建
  • 3. 添加RESTFul API接口
  • 4. 启动应用
  • 5. 测试
  • 4. 实时掌握应用的健康状况
    • 1. 在pom中添加模块
      • 2. 配置健康监控的端口
        • 3. 启动应用并查看健康状况
        相关产品与服务
        数据保险箱
        数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档