微服务常识及常见bug集

微服务架构入门:

核心知识点:

  • 微服务架构诞生的背景:
    软件即服务,将一个大型软件,拆成若干个小系统,然后分而治之
    好比:北京一个火车站变到多个火车站

  • 微服务架构解决方案:
    大厂基本自研~自己研发各种组件,
    常用:Spring Cloud Alibaba(sca),Spring Cloud Netfix,…

  • 微服务架构下创建Maven聚合工程的目的:
    实现工程之间资源的的共享,简化工程管理

  • 微服务架构入门聚合项目创建结构:

GitCGB2108IVProjects (工作区/空项目)
├── 01-sca   //(微服务父工程)
     ├── sca-provider            //服务提供方法
     ├── sca-consumer         //服务消费方法
     ├── sca-gateway            //网关服务
     ├── sca-common            //公共服务
  • 微服务中聚合工程之间的引用设计?
    将一个工程作为依赖添加到其它工程~重点是坐标
<!--在sca-provider的pom文件中添加sca-common依赖-->
    <dependency>
        <groupId>com.jt</groupId>
        <artifactId>sca-common</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

常见问题分析

  • 为什么需要微服务?
    实现对系统分而治之(实现松耦合)
    解决因并发访问量过大带来的系统复杂性
    例如:业务,开发,测试,升级,可靠性等

  • 微服务设计的特点?
    单一职责,独立进程,
    开发测试效率高,
    可靠性高,
    升级难度小,
    但会带来一定的维护成本

  • 微服务解决方案有哪些?
    大厂基本靠自研
    中小企业采用开源Spring Cloud Alibaba(sca),Spring Cloud Netfix等

  • 微服务设计中需要哪些关键组件?
    服务的注册,发现,配置:基于Spring Cloud 服务注册与发现标准,借助Nacos进行实现,默认还集成了 Ribbon 的支持。
    限流降级:默认支持OpenFeign、RestTemplate、Spring Cloud Gateway等限流降级功能的接入,可以在运行时通过sentinel控制台实时修改限流降级规则。
    访问入口管理:gateway网关服务
    分布式事务管理:基于Nacos支持分布式系统中的外部化配置,配置更改时自动刷新。

  • 创建聚合工程的目的?
    实现工程之间资源的的共享,简化工程管理

  • 如何修改聚合工程中项目的编译和运行版本?
    pom.xml:build->plugins->plugin->maven-compiler-plugin

  • maven工程中build元素的作用?
    定义项目的编译,打包方式

  • maven父工程的packaging元素内的值是什么?
    是父工程的默认打包方式:pom方式

  • maven父工程中dependencyManagement元素的作用是什么?
    指定项目依赖的版本,当前工程及子工程不再需要指定版本,仅限于此,别无它用

  • Maven父工程中如何统一定义JDK编译和运行版本?
    配置maven编译插件:maven-compiler-plugin

常见Bug分析

  • 依赖无法下载或加载?
    原因:
    本地库冲突
    网络不好
    maven镜像配置,指定版本在远程服务器不存在
    清idea缓存后重启:File->invalidate caches and restart选项

  • 项目的pom.xml文件有删除线?
    idea/setting->build,Execution,Deployment->build Tools->maven->ignore Files选项去掉勾选
    在这里插入图片描述

  • 项目单元测试失败,提示找不到@SpringBootConfiguration,如下:
    在这里插入图片描述

  • 当项目中出现了多个启动类时,在项目启动或单元测试时会出现如下问题,如下:
    在这里插入图片描述

  • 单元测试依赖添加的有问题或者单元测试类写错了位置,如下(依赖出了问题):

在这里插入图片描述

  • 方法调用错误,如下:

在这里插入图片描述

  • 空指针异常:基本上是对象调用方法时,对象的值为空造成的,如下:

在这里插入图片描述

Nacos注册中心入门:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值