微服务架构-01

@toc

  • 微服务简介
  • SpringCloud Alibaba微服务解决方案
  • 构建SpringCloud 项目/工程并进行环境初始化
  • 创建聚合父工程
  • 服务关系以及调用关系设计
  • 服务器扩展(jetty使用配置)
  1. 微服务简介
    1.1 背景分析
    把大系统拆分为很多小系统,几个人负责一个服务这样每个服务独立的开发、测试和上线,代码冲突少了,每次上线就回归测试自己的一个服务即可,测试速度快了,上线是独立的,只要向后兼容接口就行了,不需要跟别人等待和协调,技术架构和技术版本的升级,几个人ok就行,成本降低,更加灵活了。
    1.2 什么是微服务
    微服务架构(MSA)的基础是将单个应用程序开发为一组小型独立服务,这些独立服务在自己的进程中运行,独立开发和部署。
    这些服务使用轻量级 API 通过明确定义的接口进行通信,围绕业务功能构建的,每项服务执行一项功能。由于它们是独立运行的,因此可以针对各项服务进行更新、部署和扩展,以满足对应用程序特定功能的需求。
    程序中的微服务,就是将各个业务系统的共性再进行抽取,做成独立的服务。
    1.3 总结
    微服务是分布式系统中的一种流行的架构模型,微服务架构(MSA)主要解决的是如何快速地开发和部署我们的服务,这对于一个能够适应快速开发和成长的公司是非常必要的。

  2. SpringCloud Alibaba微服务解决方案
    2.1 概述
    Spring Cloud Alibaba 是Spring Cloud的一个子项目,致力于提供微服务开发的一站式解决方案。该项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
    2.2 核心组件分析
    1.服务限流降级
    2.服务注册与发现
    3.分布式配置管理
    4.消息驱动能力
    5.分布式事务
    6.分布式任务调度
    2.3解决方案架构设计
    在这里插入图片描述

  3. 构建SpringCloud 聚合项目并进行环境初始化
    3.1聚合工程结构
    在这里插入图片描述
    3.2创建空项目/工程
    1.选择类型
    在这里插入图片描述
    2.工程命名
    在这里插入图片描述
    3.3环境配置
    1.项目初始化配置
    在这里插入图片描述
    2.配置JDK编译环境
    在这里插入图片描述
    3.指定一下当前工作区的jdk编译版本
    在这里插入图片描述
    4.配置工作区中项目编码方式
    在这里插入图片描述

  4. 创建聚合父工程
    4.1创建父工程模块
    1.选择类型:maven
    在这里插入图片描述
    2.模块命名
    在这里插入图片描述
    3.删除工程中的src目录(父工程不需要这个目录)
    在这里插入图片描述
    4.修改项目pom.xml文件内容
    在这里插入图片描述
    4.2创建服务提供方模块
    4.2.1.选择类型
    在这里插入图片描述
    4.2.2.模块命名
    1服务消费方模块(sca-consumer):
    在这里插入图片描述
    2.API网关服务模块(sca-gateway):
    在这里插入图片描述
    3.服务提供方模块(sca-provider):
    在这里插入图片描述
    4.服务用户模块(sca-ui):
    在这里插入图片描述
    4.1 测试用户模块
    在这里插入图片描述
    4.2 pom.xm文件配置
    在这里插入图片描述
    4.3 sca-ui测试:
    在这里插入图片描述

  5. 服务关系以及调用关系设计
    在这里插入图片描述

  6. 服务器扩展(jetty使用配置)
    spring默认使用tomcat,如果需要使用jetty,则需要将tomcat的依赖排除在外,然后导入jetty的依赖包。
    6.1代码片段

<dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
            <exclusions>  
                <exclusion>  
                    <groupId>org.springframework.boot</groupId>  
                    <artifactId>spring-boot-starter-tomcat</artifactId>  
                </exclusion>  
            </exclusions>  
        </dependency>  
  
        <!-- Jetty适合长连接应用,就是聊天类的长连接 -->  
        <!-- 使用Jetty,需要在spring-boot-starter-web排除spring-boot-starter-tomcat,因为SpringBoot默认使用tomcat -->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-jetty</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-test</artifactId>  
            <scope>test</scope>  
        </dependency>  
</dependencies>  
 

6.2 sca-ui的pom.xml文件配置
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值