栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

微服务架构及解决方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微服务架构及解决方案

     

微服务:

把大型软件拆分成各种小的服务,

spring    -----spring cloud微服务规范  -------  spring  Alibaba微服务规范的产品实现

 不要寄希望于微服务构架能够解决所有的问题。微服务架构主要解决的是如何快速地开发和部署我们的服务

SpringCloud Alibaba微服务解决方案

        1概述

        2核心组件分析

                服务限流降级: 当下载的东西特别大时就要限流       

                服务注册与发现:公司的信息如注册金

                分布式配置管理:更改已发项目的一些不方便更改的信息,独立出来更改

                消息驱动能力:快递员为什么先把快递放快递柜子,相当于缓存
                        

                分布式任务调度:

                        定时任务


 

        3解决方案架构设计

sentinel:限流

ribbon:负载均衡

gateway:api网关 类和接口  url 如/notice/select   

auth center: 认证中心:不可能每次都去登录  索引需要认证

zipkin/walking:

elk:日志聚合服务:

构建SpringCloud 聚合项目并进行环境初始化 











        1工程结构

GitCGB2105IVProjects (工作区/空项目)
├── 01-sca   //(微服务父工程)
     ├── sca-provider            //服务提供方法
     ├── sca-consumer         //服务消费方法
     ├── sca-gateway            //网关服务
extends /import代码重用的方式

 

        2创建空项目

        3项目初始化配置

 

        4创建聚合父工程

 

01-sca  pom.xl



    4.0.0
    com.cy
    01-sca
    1.0-SNAPSHOT
    
    
        
            
            
                org.springframework.boot
                spring-boot-dependencies
                2.3.2.RELEASE
                import
                pom 
            
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                Hoxton.SR9
                import
                pom
            
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.6.RELEASE
                import
                pom
            
        
    
    
    
        
            org.projectlombok
            lombok
            
            provided
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.jupiter
                    junit-jupiter-engine
                
            
        
    
    
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    8
                    8
                
            
        
    

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
 

        5创建服务提供方模块

        6创建服务消费方模块

        7创建API网关服务模块

总结(Summary) sca-gateway 服务网关就是网络请求

sca-consumer 就是消费模块

sca-provider就是提供模块

解决pom。xml横线问题

 idea pom.xml横线

课后作业:工程之间 的依赖:

 工程代码的复用:

 常见问题分析
为什么需要微服务?(对系统分而治,解决因并发访问过大带来的系统复杂性(例如:业务,开发,测试,升级,可靠性等)
微服务设计的特点?(单一职责,独立进程,开发测试效率高,可靠性高,升级难度小,但会带来一定的维护成本)
微服务解决方案有哪些?(大厂自研,中小企业采用开源Spring Cloud Alibaba,Spring Cloud Netfix等 )
微服务设计中需要哪些关键组件(服务的注册,发现,配置,限流降级,访问入口管理,分布式事务管理等)
创建聚合工程的目的?(实现工程之间资源的的共享)
如何修改聚合工程中项目的编译和运行版本?(build->plugins->plugin->maven-compiler-plugin)
maven工程中build元素的作用?(定义项目的编译,打包方式)
maven父工程的packaging元素内的值是什么?(pom)
maven父工程中dependencyManagement元素的作用是什么?(定义项目的版本)
常见Bug分析
依赖或插件无法下载?(本地库冲突,网络,maven配置,版本)
 

 commom:下创建一个类

在其他包中试着调用

common类:

创建stringutils类
package com.jt.common.util;

public class StringUtils {
    public static boolean isEmpty(String str){
        return str==null||"".equals(str);
    }
}

 编辑provider测试类

 

package com.jt;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.StringUtils;

@SpringBootTest
public class StringTests {
    @Test
    void testStringEmpty(){
        String content="helloworld";
        boolean flag = StringUtils.isEmpty(content);
        System.out.println(flag);
    }
}
编辑provider启动类
package com.jt;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ProviderApplication {
    public static void main(String[]args){
        SpringApplication.run(ProviderApplication.class, args);
    }
}
编辑provide pom.xml
  
    
        org.springframework.boot
        spring-boot-starter
    
        
            com.jt
            sca-common
            1.0-SNAPSHOT
        
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336665.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号