项目的延伸

这篇具有很好参考价值的文章主要介绍了项目的延伸。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

推送模块

1.表

1.1 表字段

1.2 字段类型

1.3 索引

1.4 关联查询

2.参数的含义

3.以技术流的维度讲业务逻辑

4.redis

4.1基础知识

5.设计模式

5.1策略模式

5.2工厂模式

6.遇到的问题

6.1稳定性

7.锁

即时通讯模块

1.表

1.1 表字段

1.2 字段类型

1.3 索引

1.4 关联查询

2.参数的含义

3.以技术流的维度讲业务逻辑

4.WebSocket

5.http

6.map数据结构

7.核载(消息格式)

8.如何支持的分布式

9.用户的状态管理

10.session与cookie

11.request与response

12.遇到的问题

13.kafka

文件材料管理

1.表

1.1 表字段

1.2 字段类型

1.3 索引

1.4 关联查询

2.参数的含义

3.以技术流的维度讲业务逻辑

4.流的知识点

5.minio

6.@Validated校验

7.断点上传,分片上传 

8.遇到的问题

9.线程池


推送模块

1.表

1.1 表字段

服务配置表:三方服务名称,api接口认证信息,域名等

推送记录表:有效期,接收方id,发送方id,模板id,消息,发送类型,时间等

消息模板表:用户id,模板内容,待填充字段

1.2 字段类型

varchar

datetime

int

1.3 索引

数据库知识点_陈小吨的博客-CSDN博客

1.4 关联查询

陈小吨的博客_CSDN博客-Java八股文专栏,Java知识,Linux命令领域博主

2.参数的含义

{
"expirationDate": 有效期-时间戳,
"sendId":"发送方id",
}

项目的延伸

有效期,接收方id,发送方id,模板id,消息,发送类型,时间

3.以技术流的维度讲业务逻辑

4.redis

4.1基础知识

redis_陈小吨的博客-CSDN博客

5.设计模式

java基础知识_陈小吨的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-458298.html

5.1策略模式

5.2工厂模式

6.遇到的问题

6.1稳定性

7.锁

java基础知识_陈小吨的博客-CSDN博客

即时通讯模块

1.表

1.1 表字段

会话连接表:用户id,服务器id ,创建时间,更新时间

会话表:发送方id,接收方id ,创建时间,更新时间

会话记录表:通讯内容,发送方id,接收方id,发送时间,删除者id

1.2 字段类型

varchar

datetime

1.3 索引

1.4 关联查询

2.参数的含义

{
"receiverId":"" //接收方id
"msg":"内容" //发送的消息
}

3.以技术流的维度讲业务逻辑

4.WebSocket

5.http

http与https 的区别

HTTP协议以明文方式发送内容,不提供任何方式的数据加密。HTTP协议不适合传输一些敏感信息
https则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
https协议需要到ca申请证书。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
 

6.map数据结构

7.核载(消息格式)

{
"receiverId":"" //接收方id
"msg":"内容" //发送的消息
}

8.如何支持的分布式

9.用户的状态管理

用户状态  true 是在线  false是离线

10.session与cookie

cookie / session的区别
存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。
安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。
容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数限制。
存储的多样性:session 可以存储在 Redis 中、数据库中、应用程序中;而 cookie 只能存储在浏览器中。
 

11.request与response

12.遇到的问题

Java实现短信推送可以调用以下一些常用的第三方短信接口:

1. Twilio:Twilio是一个流行的短信服务提供商,它提供了简单易用的REST API,可以通过Java代码发送短信。

2. Alibaba Cloud SMS:阿里云短信服务是一个全球领先的短信推送服务提供商,它提供了Java SDK,可以通过阿里云的API发送短信。

3. Tencent Cloud SMS:腾讯云短信服务是腾讯云提供的一项短信发送服务,也提供了Java SDK,可以通过腾讯云的API发送短信。

4. SendGrid:SendGrid是一个综合性的电子邮件和短信服务提供商,它提供了Java库和API,可用于发送短信。

5. Nexmo:Nexmo是一个全球性的通讯服务提供商,它提供了简单的REST API,可用于通过Java发送短信。

13.kafka

文件材料管理

1.表

1.1 表字段

文件表:文件名,文件大小,存储路径,上传时间,上传人

模板文件表:文件名,文件大小,待填充的字段,存储路径,上传时间,上传人

1.2 字段类型

varchar

datetime

1.3 索引

1.4 关联查询

2.参数的含义

 上传接口


file 文件
name 文件名

 下载接口

id 文件id
name 文件名

 生成接口

id 模板文件id
fillMap  需要填充的文件内容

3.以技术流的维度讲业务逻辑

4.流的知识点

java基础知识_陈小吨的博客-CSDN博客

5.minio

MinIO是一个开源的云存储服务器,它提供了高性能和可扩展的对象存储服务。与传统的文件系统不同,MinIO以对象的形式存储数据,并通过HTTP协议提供访问接口。它被设计用于构建私有云存储、分布式存储和大规模数据存储等场景。

以下是MinIO的一些关键特点和功能:

1. 高性能:MinIO具有出色的性能表现,可以轻松处理大规模数据的存储和检索。它采用了多线程、异步I/O和高速缓存等技术,实现了快速的数据传输和低延迟的访问。

2. 可扩展性:MinIO可以在多个节点上进行分布式部署,通过水平扩展来提供更高的存储容量和吞吐量。它支持容器化部署,并与Kubernetes等容器编排平台紧密集成。

3. 安全性:MinIO提供了多种安全性功能,包括数据加密、访问控制和身份验证。它支持SSL/TLS加密传输,并可与LDAP、Active Directory等身份验证系统集成。

4. 对象存储:MinIO以对象的方式存储数据,每个对象都有一个唯一的键(key)和元数据。它支持常见的对象操作,如上传、下载、复制、删除和查询。

5. 高可用性:MinIO采用分布式架构,支持数据的冗余备份和故障转移。它可以自动地将数据复制到多个节点上,以提供高可用性和数据的持久性。

6. 兼容性:MinIO兼容Amazon S3 API,可以与现有的S3客户端和应用程序进行无缝集成。这使得迁移和集成现有的S3应用变得简单和方便。

7. 简单易用:MinIO的部署和配置非常简单,它提供了用户友好的管理界面和命令行工具,使用户可以轻松管理和监控存储集群。

6.@Validated校验

7.断点上传,分片上传 

MinIO实现断点上传的逻辑可以通过以下步骤来实现:

1. 初始化分片上传:
   首先,使用MinIO的`initiateMultipartUpload`方法初始化一个分片上传操作。这将返回一个唯一的`uploadId`,用于标识当前的分片上传任务。

2. 上传分片:
   将要上传的文件切割成多个固定大小的分片,然后使用`uploadPart`方法将每个分片上传到MinIO服务器。每个分片都有一个分片编号(partNumber),并且需要指定分片的大小。

3. 记录已上传的分片信息:
   在每次成功上传一个分片后,应该记录已上传的分片编号和对应的ETag(分片的校验码)。可以将这些信息存储在数据库或其他持久化存储中,以便在断点续传时使用。

4. 完成分片上传:
   当所有分片都上传完成后,使用`completeMultipartUpload`方法来通知MinIO服务器合并这些分片,并将它们合并为最终的完整对象。在此方法中,需要提供之前获取的`uploadId`和每个分片的编号和ETag。

5. 中断和续传处理:
   如果上传过程中发生中断,可以记录已上传的分片信息。下次继续上传时,需要首先获取之前上传的分片信息,并根据这些信息进行断点续传。可以使用`listParts`方法来获取已上传的分片信息,然后根据记录的分片编号,继续上传未完成的分片。

8.遇到的问题

9.线程池

java基础知识_陈小吨的博客-CSDN博客

到了这里,关于项目的延伸的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch第八讲 ES索引字段映射类型以及动态映射相关操作

    ES的映射:映射就是 Mapping,它用来定义一个文档以及文档所包含的字段该如何被存储和索引。所以,它其实有点类似于关系型数据库中表的定义。其中ES中映射可以分为动态映射和静态映射,静态映射就是提前创建好对应字段文档映射关系,如果插入的类型不对会出错,而动

    2024年02月10日
    浏览(45)
  • 通过postgresql的Ltree字段类型实现目录结构的基本操作

    将这种具有目录结构的excel表存储到数据库中,可以采用树型结构存储 上面是建一张表,并且插入一条根节点。这里我们的id是mybatisPuls提供的UUID,并且我们的path字段采用祖id+爷id+父id+子id的结构。这是处理excel表格的工具类 下面是将生成的ListMapString, String excel数据插入到e

    2024年02月12日
    浏览(40)
  • 完全去中心化的编程模式,不需要服务器,也不需要ip,就像一张漫无目的的网络、四处延伸

    这是一篇畅想的文章,只说我的编程理念、实现原理。 现在信息传输架构,大部分都是c/s架构,客户端向服务器传递信息,服务器根据不同的逻辑,开始分发信息。这种架构,很容易就形成信息中心化、信息垄断现象。 那么与之对应的,就是许多反中心化的技术,区块链、

    2024年02月02日
    浏览(39)
  • 用Elasticsearch做大规模数据的多字段、多类型索引检索

    本文同时发布在我的个人博客 之前尝试了用mysql做大规模数据的检索优化,可以看到单字段检索的情况下,是可以通过各种手段做到各种类型索引快速检索的,那是一种相对简单的场景。 但是实际应用往往会复杂一些 —— 各类索引(匹配、全文检索、时间范围)混合使

    2024年04月10日
    浏览(53)
  • Nginx常用内置模块, 实现目录索引+状态监控+IP访问控制+用户访问控制

    1.安装nginx 2.配置nginx扩展配置文件,实现自定义网页根目录 3.配置autoindex自动索引模块 4.配置nginx状态监控模块 5.配置nginx基于IP访问控制access模块 6.配置nginx基于用户访问控制auth模块 1.挂载光盘,进入nginx软件包目录 umount /dev/cdrom /mnt eject mount /dev/cdrom /mnt cd /mnt/nginx-rpm/ 2.使用

    2024年01月21日
    浏览(55)
  • 建库、建表、修改表、复制表、字符类型、数值类型、枚举类型、日期时间类型、检索目录、数据导入命令、数据导入步骤、数据导出命令、非空、默认值、唯一索引

    1.1 问题 建库练习 建表练习 修改表练习 1.2 方案 在MySQL50主机完成练习。 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:建库练习 库名命名规则: 仅可以使用数字、字母、下划线、不能纯数字 区分字母大小写, 具有唯一性 不可使用MySQL命令或特殊字符 命令操作如下

    2024年01月17日
    浏览(58)
  • 【Java工程目录结构】项目结构和模块结构

    结构划分有利于管理文件。 代码要放在 源文件文件夹(src/main/java)下才能正确编译和执行。 一个项目project,包含任意个模块module。一个模块包含任意个包package。 包是类的容器,用于分隔类名空间。 包的名字有层次关系,各层之间以点分隔:顶级域名.公司域名. 项目名.

    2024年01月21日
    浏览(53)
  • 项目的延伸

    目录 推送模块 1.表 1.1 表字段 1.2 字段类型 1.3 索引 1.4 关联查询 2.参数的含义 3.以技术流的维度讲业务逻辑 4.redis 4.1基础知识 5.设计模式 5.1策略模式 5.2工厂模式 6.遇到的问题 6.1稳定性 7.锁 即时通讯模块 1.表 1.1 表字段 1.2 字段类型 1.3 索引 1.4 关联查询 2.参数的含义 3.以技术

    2024年02月06日
    浏览(21)
  • 【若依(ruoyi)】Java---如何在Apifox上传params参数--延伸--如何在Apifox上传Map类型参数

     在使用若依开发过程中写接口的时候想在params中添加参数,但是使用params.key这种形式在后端是接收不到传过来的参数的,于是百般调研(百度),终于找到一个解决办法,就是在参数前后加上 %5B 和 %5D ,这两个参数会被编译为\\\" [ \\\"和\\\" ] \\\",于是就对得上了,后端成功接受到参数;

    2024年02月22日
    浏览(32)
  • Primavera Unifier 项目控制延伸:Phase Gate理论:3/3

    https://campin.blog.csdn.net/article/details/127827681 https://campin.blog.csdn.net/article/details/127827681 前述阶段的计划和安排都要在研发阶段执行起来,同时,最重要的产品设计和开发部分也需要在这一阶段完成,包括早期的部件验证,外购件测试甚至早期的客户端测试。产品的市场投放策略

    2024年02月03日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包