庐州草民
1月前来过
全职 · 300/日  ·  6525/月
工作时间: 工作日08:30-22:30、周末09:30-18:00工作地点: 合肥远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

我叫钟梓硕,来自合肥工业大学。我在校期间主要利用课外时间学习了Java 以及 Spring、MyBatis、Netty 等框架,也学习了消息队列、redis这些中间件。我与7月3日到9月14日在科大讯飞教育bg考试与语言学习研发部参加实习,在实习期间,我负责开发普通话考试出卷系统,也编写了一个文本处理工具。在校期间主要开发了两个项目,一个是 API 开放平台,这是一个提供 API 接口供开发者调用的平台,管理员可以接入并发布接口,统计分析各接口调用情况,用户可以通过支付来开通接口调用权限、浏览接口并在线调试,并通过客户端 SDK 轻松调用接口。另一个项目是一个即时通讯系统,在用户登录注册时可以设置一些兴趣标签,然后系统会使用一个相似度匹配的算法来为用户推荐与其相似度最高的用户,不同的用户可以进行组队一起加入聊天室进行聊天,为了保证消息的可靠传输,我自定义协议内容,并设置了消息的接收响应机制,通过六次报文传输保证消息的可靠发送。



工作经历

  • 2023-07-03 -2024-09-14科大讯飞软件开发

    负责开发普通话考试出卷系统、试卷上线与文本处理工具,在开发过程中不断优化程序性能。

教育经历

  • 2020-09-14 - 2024-06-14合肥工业大学计算机科学与技术本科

技能

Mongo
Netty
0
1
2
3
4
5
0
1
2
3
4
5
作品
校园二手交易平台

项目介绍:公共的 API 接口调用平台,用户可以浏览接口并在线调用,也可以在本地使用客户端 SDK 调用接口快速集成对应服务。 技术栈:Vue 3、Spring Boot、MySQL、Redis、Dubbo、PowerJob、Spring Cloud GateWay、Nacos、RocketMQ。 1. 使用 Redis 实现分布式 Session,解决集群间登录态问题,实现了各个微服务模块间的 Session 共享。 2. 为防止接口被恶意调用,设计 API 签名认证算法,在用户注册时统一分配秘钥用以鉴权,保障了接口调用的安全性。 3. 使用令牌桶算法对接口进行限流,同时在服务端缓存用户最近的调用结果,当用户下一次仍使用相同参数调用接口时直接从缓存中返回数 据,从而降低服务端压力。 4. 当用户调用接口成功后,使用 RocketMQ 实现对接口调用、接口统计、剩余接口调用次数等操作解耦,实现三者的一致性。 5. 利用定时任务批处理方式解决订单超时问题,通过定时任务轮询数据库订单,一次处理多个超时订单,从而降低数据库的 TPS。 6. 使用 Spring Cloud Gateway 作为 API 网关,在网关层统一进行访问控制、签名校验、接口调用统计和日志打印等业务逻辑。 7. 开发客户端 SDK,封装公共接口调用逻辑,同时在请求头中设置密钥对,方便用户使用开放接口。

0
2024-01-11 15:17
API开放平台

项目介绍:公共的 API 接口调用平台,用户可以浏览接口并在线调用,也可以在本地使用客户端 SDK 调用接口快速集成对应服务。 技术栈:Vue 3、Spring Boot、MySQL、Redis、Dubbo、PowerJob、Spring Cloud GateWay、Nacos、RocketMQ。 1. 使用 Redis 实现分布式 Session,解决集群间登录态问题,实现了各个微服务模块间的 Session 共享。 2. 为防止接口被恶意调用,设计 API 签名认证算法,在用户注册时统一分配秘钥用以鉴权,保障了接口调用的安全性。 3. 使用令牌桶算法对接口进行限流,同时在服务端缓存用户最近的调用结果,当用户下一次仍使用相同参数调用接口时直接从缓存中返回数据,从而降低服务端压力。 4. 当用户调用接口成功后,使用 RocketMQ 实现对接口调用、接口统计、剩余接口调用次数等操作解耦,实现三者的一致性。 5. 利用定时任务批处理方式解决订单超时问题,通过定时任务轮询数据库订单,一次处理多个超时订单,从而降低数据库的 TPS。 6. 使用 Spring Cloud Gateway 作为 API 网关,在网关层统一进行访问控制、签名校验、接口调用统计和日志打印等业务逻辑。 7. 开发客户端 SDK,封装公共接口调用逻辑,同时在请求头中设置密钥对,方便用户使用开放接口。

0
2024-01-11 15:17
即时通讯系统

项目介绍:基于 Vue 3 + Spring Boot 2的移动端网站,为用户提供按兴趣标签检索用户和组队聊天的功能。 技术栈:Vue 3、Spring Boot、Redis、MySQL、Netty、RocketMQ、Protostuff。 1. 为了避免出现消息的重发和漏发现象,通过应答机制进行 6 次报文传输保证消息的可靠传输,同时将用户发送出去的消息先保存在本地内存并设置重发机制,当收到接收端响应时再将内存中数据清除,从而保证消息的正常发送。 2. 自定义协议内容,设置 netty 编解码器解决粘包拆包问题,并使用 protostuff 序列化消息内容,降低网络传输时的报文大小。 3. 为了实现消息持久化,使用MySQL存储消息内容,为了提高性能、降低数据库 TPS 和网络 IO 开销,先将用户发送的消息保存在本地内存,当消息达到一定数量时再通过 RocketMQ 异步批量插入数据库。 4. 为解决首次访问系统的用户主页加载过慢的问题,使用 Spring Scheduler 定时任务来实现缓存预热,并通过分布式锁保证多机部署时定时任务不会重复执行。 5. 为解决同一用户重复加入队伍、入队人数超限的问题,使用 Redisson 分布式锁来实现操作互斥,保证了接口幂等性。

0
2024-01-11 15:15
更新于: 01-11 浏览: 62