SpringBoot 快速构建微服务体系 知识点总结

可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目

一、微服务

1、SpringBoot是一个可使用Java构建微服务的微框架。

2、微服务就是要倡导大家尽量将功能进行拆分,将服务粒度做小,使之可以独立承担对外服务的职责,沿着这个思路开发和交付的软件服务实体就叫做“微服务”。

3、微服务的好处

(1)独立,独立,还是独立。每一个微服务都是一个小王国,跳出了“大一统”(Monolith)王国的统治,开始从各个层面打造自己的独立能力,从而保障自己的小王国可以持续稳固的运转。

(2)多语言生态。微服务独立之后,给了对应的团队和组织快速迭代和交付的能力,同时,也给团队和组织带来了更多的灵活性,实际上,对应交付不同的微服务的团队或者组织来说,现在可以基于不同的计算机语言生态构建这些微服务。

二、Spring框架本质

1、Spring IoC(Inversion of Control)其实有两种形式,一种就是DI(Dependency Injection依赖反转),另一种是DL(Dependency Lookup依赖查找)。DI是当前软件实体被动接受其依赖的组件被IoC容器注入,DL是当前软件实体主动去某个服务注册地查找其依赖的那些服务。

Spring IoC容器的依赖注入工作可以分为两个阶段:

(1)收集和注册:构建和收集bean定义的阶段,这样IoC容器中充斥着一个个独立的bean,它们之间没有任何关系。

(2)分析和组装:分析这些已经在IoC容器之中的bean,然后根据它们之间的依赖关系先后组装它们。如果IoC容器发现某个bean依赖另一个bean,它就会将这另一个bean注入给依赖它的那个bean,直到所有bean的依赖都注入完成,所有bean都”整装待发“,整个IoC容器的工作即算完成。

2、 JavaConfig

Spring框架推出并持续完善了基于Java代码和Annotation元信息的依赖关系绑定描述方式,即JavaConfig项目。

基于JavaConfig方式的依赖关系绑定描述基本上映射了最早的基于XML的配置方式:

任何一个标注了@Configuration的Java类定义都是一个JavaConfig配置类。

任何一个标注了@Bean的方法,其返回值将作为一个bean定义注册到Spring的IoC容器,方法名将默认成为该bean定义的id。

如果一个bean的定义依赖其他bean,则直接调用对应JavaConfig类中依赖bean的创建方法就可以了。

那些高曝光率的Annotation:

@ComponentScan、@PropertySource与@PropertySources、@Import与@ImportSource

三、SpringBoot的工作机制

1、@SpringBootApplication

对于SpringBoot应用来说,重要的只有三个Annotation,而“三体”结构实际上指的就是这个三个Annotation:@Configuration、@EnableAutoConfiguration、@ComponentScan

2、SpringApplication:SpringBoot程序启动的一站式解决方案

3、SpringBoot应用启动步骤简要示意图

四、了解纷杂的spring-boot-starter

1、SpringBoot微框架从两个主要层面影响Spring社区的开发者们:

(1)基于Spring框架的“约定优先于配置(COC)"理念以及最佳实践之路;

(2)提供了针对日常企业应用研发各种场景的spring-boot-starter自动配置依赖模块,如此多“开箱即用”的依赖模块,使得开发各种场景的Spring应用更加快速和高效。

2、spring-boot-starter-aop

Java平台上的AOP(Aspect Oriented Programming)方案基本上已经以SpringAOP结合AspectJ的方式稳固下来。

3、spring-boot-starter-actuator

spring-boot-starter-actuator自动配置模块用于支持SpringBoot应用的监控。

五、SpringBoot微服务实践探索

1、使用SpringBoot构建微服务

(1)创建基于Dubbo框架的SpringBoot微服务

Dubbo:一款基于TCP长连接通信(Netty)的高性能服务治理框架。

将Dubbo微服务以SpringBoot形式标准化了,如此一来,我们既可以享受SpringBoot框架和周边的一系列研发支持,也可以用统一的形式发布、部署和运维。

微服务的一个特点就是数量多。

(2)使用SpringBoot快速构建Web API

2、SpringBoot微服务的发布与部署

  基于Docker的发布与部署方式:

3、SpringBoot微服务的注册与发现

4、SpringBoot微服务的监控与运维

  从局部性触发式报警到系统性智能化报警

  实际上,一种有效的报警体系应该是能够系统化地综合考虑所有监控层级的数据,然后汇总和分析,最终发出一个行之有效的报警,称为系统性智能化报警。

5、SpringBoot微服务的安全与防护

深度防御(Defence In Depth)

访问的认证和授权的过程(Authentication And Authorization)

6、SpringBoot微服务体系的脊梁:发布与部署平台

原文地址:https://www.cnblogs.com/wangle1001986/p/9120964.html

时间: 2024-10-07 01:06:28

SpringBoot 快速构建微服务体系 知识点总结的相关文章

Springboot揭秘-快速构建微服务体系-王福强

JavaConfig项目: spring IOC有一个非常核心的概念——Bean.由Spring容器来负责对Bean的实例化,装配和管理.XML是用来描述Bean最为流行的配置方式.Spring可以从XML配置文件中读取任何类型的元数据并自动转换成相应的Java代码.Spring开变了java的编程模式,Spring的下载已经超过了1亿次,可见Spring已经有多流行. 随着Spring的日益发展,越来越多的人对Spring提出了批评.“Spring项目大量的烂用XML”就是最为严励的一个批评.

Maven安装 &快速构建微服务项目

Maven安装手册 1.准备安装包 安装包: apache-maven-3.5.4-bin.zip  (最好JDK 1.7及以上版本) 集成包: eclipse-maven3-plugin.zip 2.maven安装 2.1 将下载好的maven安装包解压到你想放的硬盘目录下 例:H:\maven\apache-maven-3.5.4 2.2 配置环境变量 MAVEN_HOME = H:\maven\apache-maven-3.5.4 path = %MAVEN_HOME%\bin: 2.3

JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构

springcloud微服务项目架构搭建第一天(一).项目简介1.准备工作:idea创建springboot模板 2.后台应该涉及的技术(后期可能会有删改) Spring Framework 容器SpringMVC MVC框架Apache Shiro 安全框架Spring session 分布式Session管理MyBatis ORM框架MyBatis Generator 代码生成PageHelper MyBatis物理分页插件Druid 数据库连接池FluentValidator 校验框架Th

使用Spring Boot构建微服务(文末福利)

本文主要内容 学习微服务的关键特征 了解微服务是如何适应云架构的 将业务领域分解成一组微服务 使用Spring Boot实现简单的微服务 掌握基于微服务架构构建应用程序的视角 学习什么时候不应该使用微服务 软件开发的历史充斥着大型开发项目崩溃的故事,这些项目可能投资了数百万美元.集中了行业里众多的顶尖人才.消耗了开发人员成千上万的工时,但从未给客户交付任何有价值的东西,最终由于其复杂性和负担而轰然倒塌. 这些庞大的项目倾向于遵循大型传统的瀑布开发方法,坚持在项目开始时界定应用的所有需求和设计.这

构建微服务:如何优雅的使用mybatis

本文由www.29sl.com转载发布:这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来. orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句s

构建微服务:如何优雅的使用mybaits

*:first-child{margin-top: 0 !important}.markdown-body>*:last-child{margin-bottom: 0 !important}.markdown-body .absent{color: #c00}.markdown-body .anchor{position: absolute;top: 0;left: 0;display: block;padding-right: 6px;padding-left: 30px;margin-lef

构建微服务:Spring boot 入门篇

构建微服务:Spring boot 入门篇 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 使用spring boot有什

构建微服务:Spring boot

构建微服务:Spring boot 在上篇文章构建微服务:Spring boot 提高篇中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 前几篇文章地址: 构建微服务:Spring boot 入门篇 构建微服务:Spring boot 提高篇 构建微服务:Spring boot中Redis的使用 构建微服务:thymeleaf使用详解 作者:纯洁的微笑出处:http://www.ityouknow.com/

pring Cloud构建微服务架构

SpringCloud-Learning 本项目内容为Spring Cloud教程的程序样例. 作者博客:http://blog.didispace.com Spring Cloud系列博文:http://blog.didispace.com/categories/Spring-Cloud/ Spring Cloud中文社区:http://bbs.springcloud.com.cn/ GitHub:https://github.com/dyc87112/SpringCloud-Learning