企业级微服务架构实战项目--xx优选2

一 常用核心功能

1.1 mp返回分页工具类

 1.2 返回统一的数据格式

 第2部分

 1.3 异常统一的处理

 系统在运行过程中如果出现了异常,默认会直接返回异常信息,比如500错误提示。但是我们想让异常结果也显示为统一的返回结果对象,并且统一处理系统的异常信息,那么需要进行统一异常处理。

1.3.1 处理全局异常的定义

 1.3.2 自定义异常的处理

 2.全局中引用:

  1.4 配置swagger

二 权限功能

2.1 用户角色,菜单按钮

菜单的递归遍历

三 nacos注册与发现

3.1 nacos

Nacos支持所有主流的服务发现、配置和管理。

配置

四 nginx的反向代理技术

4.1 nginx的反向代理

1.代理架构图

 2.配置

 3.匹配原则

当proxy_pass代理地址端口后有目录(包括 / 和/xxx),相当于是绝对根路径,则 nginx 不会把 location 中匹配的路径部分代理走;

proxy_pass代理地址端口后无任何内容,可以理解为相对路径,则nginx会把location中匹配的路径部分代理走;

http://localhost:9001/admin/acl/index/login =》

http://localhost:8201/admin/acl/index/login

http://localhost:9001/admin/sys/ware/findAllList  =》

http://localhost:8201/admin/sys/ware/findAllList

https://blog.csdn.net/u011066470/article/details/126275847

五 OSS实现图片存储与上传下载

5.1 oss的介绍

阿里云对象存储oss是一个可靠的云存储服务。提供可靠的持久化服务。

5.2  上传图片

通过系统上传图片,调用连接阿里云oss存储的客户端,通过流的方式进行存储,返回存储地址,方便页面显示。

1.接收系统上传的文件

2.文件名的命名规则: 时间格式化+uuid+文件名

 3.信息保存时,将图片地址保存到数据表中

 数据表:

六  es+kibana+rabitmq+nacos

6.1 es简介

es与mysql的联系与区别:

2.es的type

 6.2 es的安装步骤

七  营销模块活动

7.1 java8的遍历

public class Test {
    public static void main(String[] args) {
        List<String> dataList=new ArrayList<>();
        List<UserDomain> userDomainList=new ArrayList<>();
        UserDomain userDomain=new UserDomain();
        userDomain.setUserId(2334);
        userDomain.setUserName("ljf");
        userDomainList.add(userDomain);
        dataList=userDomainList.stream().map(UserDomain::getUserName).collect(Collectors.toList());
        dataList.forEach((x)->{System.out.println("x:"+x);});
    }
}

结果:

7.2 营销管理活动接口

1.管理接口,保存接口,添加@Transaction 事务处理

 7.3 优惠券管理活动接口

1.保存优惠券规则,在方法上添加@Transaction 事务规则。

  7.4 秒杀场景的接口

  八  Gateway的使用

8.1 gateway的使用

gateway:网关,路由,断言,过滤器

1.pom文件

 <!-- 服务注册 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

2.跨域

@Configuration
public class CorsConfig {

    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedMethod("*");
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config);
        return new CorsWebFilter(source);
    }
}

目前我们已经在网关做了跨域处理,那么service服务就不需要再做跨域处理了,将之前在controller类上添加过@CrossOrigin标签的去掉,防止程序异常

3.路由以及断言的配置

 4.前端请求,改为网关路径,这里不再使用nginx的反向代理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值