如何理解spring boot中的微服务架构的体现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何理解spring boot中的微服务架构的体现相关的知识,希望对你有一定的参考价值。

1. Spring Boot是什么,解决哪些问题
1) Spring Boot使编码变简单
2) Spring Boot使配置变简单
3) Spring Boot使部署变简单
4) Spring Boot使监控变简单
5) Spring Boot的不足
2. Spring Boot在平台中的定位,相关技术如何融合
1) SpringBoot与SEDA +MicroService + RESTful
2) SpringBoot与Mock
3. 采用了SpringBoot之后,技术管理应该如何进行

首先,我们来看一下spring boot是什么,它帮助我们解决了哪些问题:

SpringBoot是伴随着Spring4.0诞生的;
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;
SpringBoot帮助开发者快速启动一个Web容器;
SpringBoot继承了原有Spring框架的优秀基因;
SpringBoot简化了使用Spring的过程。

Spring由于其繁琐的配置,一度被人认为“配置地狱”,各种XML、Annotation配置,让人眼花缭乱,而且如果出错了也很难找出原因。
Spring Boot更多的是采用Java Config的方式,对Spring进行配置。

可以看到,采用了spring-boot-start-actuator之后,直接以REST的方式,获取进程的运行期性能参数。
当然这些metrics有些是有敏感数据的,spring-boot-start-actuator为此提供了一些Basic Authentication认证的方案,这些方案在实际应用过程中也是不足的。

Spring Boot作为一个微框架,离微服务的实现还是有距离的。
没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也需要与现有的监控对接。没有配套的安全管控方案,对于REST的落地,还需要自行结合实际进行URI的规范化工作。
下面,我们研究一下Spring Boot在平台中的定位,相关技术如何融合。
参考技术A 1 Spring Boot是什么,解决哪些问题 1) Spring Boot使编码变简单 2) Spring Boot使配置变简单 3) Spring Boot使部署变简单 4) Spring Boot使监控变简单 5) Spring Boot的不足 2 Spring Boot在平台中的定位,相关技术如何融合 1) SpringBoot与S如何理解spring boot中的微服务架构的体现本回答被提问者采纳

基于Spring Cloud的微服务构建学习-2 Spring Boot

基于Spring Cloud的微服务构建学习-2 Spring Boot

为什么使用Spring Boot而不是Spring

  Spring Boot具有自动化配置,快速开发,轻松部署优点,非常适合用作微服务架构中各项具体微服务的开发框架。它不仅可以帮助我们快速的构建微服务,还可以轻松简单的整合Spring Cloud实现系统服务化,而如果使用了传统的Spring构建方式的话,在整合过程中我们还需要做更多的依赖管理工作才能让它们完好的运行起来。

  Spring Boot的宗旨并非是重写Spring或是替代Spring,而是希望通过设计大量的自动化配置等方式来简化Spring原有样板化的配置,使得开发者可以快速构建应用。

  Spring Boot除了解决了配置问题外,还通过一系列Starters POMs的定义,让我们在整合各项功能的时候,不必再Maven的pom.xml文件中维护那些错综复杂的依赖关系,而是通过类似模块化的Starter模块定义来引用,使得依赖管理工作变得更为简单。

  使用Spring Boot构建的应用不在需要安装Tomcat,将应用打包成war包,在发布到tomcat中区,而是只需将Spring Boot应用打包成jar,并通过java -jar命令直接运行就能启动一个标准化的Web应用。

基于Spring Boot 的RESTful API的简单实现

  系统要求:

  • java7及以上
  • Spring Framework4.2.7及以上
  • Maven3.2及以上版本

  注:Maven的环境变量以及与Eclipse整合很简单,这里不再说明。

  构建Maven项目

  1.使用官方的Spring Initializer工具生成基础项目,填好Group和Aftifact信息后点击箭头所指按钮,下载项目压缩包。网址:http://start.spring.io/

技术分享

  2.打开Eclipse,右键左侧空白处,选择Import,并选择如图所示选项,点击Next

技术分享

  3.选择刚刚下载好的基础项目,并点击Finish

技术分享

  4.项目目录结构如下:

技术分享

  src/main/java文件夹一般用来放java源代码

  src/main/resources文件夹一般用来放项目配置文件

  src/test/java文件夹一般用来编写测试程序

  5.在pom.xml文件中添加spring-boot-starter-web依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

  使用Ctril+S快捷键保存,Maven会自动下载相关jar包。

  6.实现RESTful API

    1.新建Package,并命名为com.microservice.hellocontroller

    2.新建HelloController类,内容如下:

package com.microservice.hellocontroller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    
    @RequestMapping("/hello")
    public String index(){
        return "Hello World";
    }
}

    3.在应用程序入口处做如下修改:

@ComponentScan("com.microservice.hellocontroller")//此处字符串填入你的Controller类的包名
@SpringBootApplication
public class HelloApplication {

    public static void main(String[] args) {
        SpringApplication.run(HelloApplication.class, args);
    }
}

    4.启动该应用,通过浏览器访问http://localhost:8080/hello

             技术分享

  一个基于Spring Boot的Restful基础项目到此结束。

 

参考文献:

  Spring Cloud微服务实战

 

 转载注明出处:http://www.cnblogs.com/xiemubg/p/7280201.html

    

 

以上是关于如何理解spring boot中的微服务架构的体现的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版

如何在 spring-boot 中的微服务中创建 Super/Base/Parent 类 - 在子类中扩展该类

基于Spring Cloud的微服务构建学习-2 Spring Boot

spring cloud-个人理解的微服务演变过程

架构微服务 Spring Boot

如何构建 Spring Boot 微服务