【无标题】SpringBoot-----RPC方式集成系统架构设计

文章目录

  • 前言
  • 一、RPC是什么?
  • 二、架构介绍
    • 1.设计的思想
    • 2.图解


前言

网站系统的出现有小也有大,小到一个单体架构小系统,大到一个集成系统或微服务,那么对于一些中小型企业来说,微服务架构确实是会造成成本有点高,但是又要设计一个集成的中型系统,显然微服务架构设计不适合,那么我们可以在单体架构上升级一下,可以从两个方向来设计。RPC集成设计或SOA集成设计,我们本次就已最简单的RPC集成方式来介绍。


提示:以下是本篇文章正文内容,下面案例可供参考

一、RPC是什么?

RPC(Remote Procedure Call)即远程过程调用,不同于本地调用。简单来说就是一般使用TCP进行网络传输,通过HTTP或者UDP传输属于RPC的调用

二、架构介绍

1.设计的思想

  • 系统的情况是这样的,假如我们的主系统和业务系统都有独立的域名段,主系统是
    www.xxxx.com,而业务系统的域名是www.xxxx.com/xxx,这种情况的,就可以用我这套架构;
  • 再加上系统认证使用的是session,用户在登录系统后会将用户登录信息保存在session,相对安全,同时前面段域名是一样的,那么浏览器就不会认为是跨域操作。
  • 第三我们系统都是采用自定义filter开发,我们就可以自由控制系统的每一个请求,怎样释放,怎样校验,怎样认证。

2.图解

图片如下(示例):
【无标题】SpringBoot-----RPC方式集成系统架构设计_第1张图片【无标题】SpringBoot-----RPC方式集成系统架构设计_第2张图片

需要注意的是,每个子系统的每一个接口请求都要进行认证和校验用户是否登录失效,那么不能频繁发送请求到主系统认证,不然主系统服务器吃不消
我们可以这样设计:
1:子系统将上一次请求认真的额时间存起来,下一个接口请求时,在子系统的filter校验一下上一个接口认证完的时间和本次请求间隔是否大于30秒,如果大于重新发送,否则不重新发送,不发送。
2:不管是子系统还是主系统全程都需要保存日志;
3:针对第一步的认证时间保存,用户可以自己选择保存在内存或选择Redis。


你可能感兴趣的:(spring,boot,rpc,java)