CloudFly

后端开发工程师
字节跳动 · 1年经验
CloudFly
日薪: ¥500/8h
地点: 北京 海淀
时间: 可工作日远程
ID:413670 复制

0
接单数
0
评价数
0
收藏数

AI 技能提取 | Java MySQL Redis Spring Boot Kafka Python Go C++ HTTP
编程语言: 熟练掌握Java核心知识、JDK集合和并发包常用原理、JVM内存结构和垃圾回收机制。掌握
SpringBoot等主流框架。掌握C++、Python、Go等其它语言,并且实习期间使用过
数据库:熟悉MySQL和Redis的基本使用和原理。掌握MySQL事务、日志、慢查询优化。掌握Redis基本原理、
数据结构和相关应用场景
消息队列:熟悉消息队列Kafka使用场景,熟悉消息有序性、可靠性、幂等性、消息积压解决方案
计算机基础:熟悉各种数据结构和算法,本科期间参与过ACM竞赛并获区域赛国家级奖项。熟悉计算机网络,
掌握TCP、HTTP等网络协议。熟悉操作系统,掌握进程、虚拟内存、I/O多路复用

多阶段异步流任务框架
项目介绍:多阶段异步流任务框架是基于Java开发的任务自动调度、自动续做和重做、灵活任务配置的分布式异步
任务处理框架
个人职责:
负责架构设计:整体框架分为flowsvr层和worker层,flowsvr层负责提供http协议,并提供管理任务、调度任
务等接口,worker层负责消费任务
数据库表设计:仅设计低耦合的三张表,分别是任务信息表、任务配置表、任务位置表,方便任务快速注册、
检索和管理
分表逻辑设计:为解决数据量过大导致的性能下降,根据异步任务框架的特点,设计了一种全新的分表逻辑,
按照表中数据行数的大小分表,将冷热任务分开
进行性能调优:对任务进行压力测试,并且找到性能瓶颈并解决,性能从一开始的500QPS左右提升到
2300QPS左右
技术难点:
性能调优:对接口进行压测后发现只有500QPS左右,通过MySQL连接池优化
分表方案选型:业界中的分表组件,比如MyCat自带的分表功能,都不支持按大小分表。而框架支持的分表要
按大小分表,不断向前推进,而不是传统的分片长期稳定存在
多机竞争:存在多个worker容易拉到同一批任务的多机竞争问题,使用MySQL锁会导致CPU不稳定,因此使用
Redis分布式锁,提高了并发性能
任务排序规则:框架抽象出了一个order_time排序字段对任务排序,oreder_time受到任务修改时间、任务优先
级和任务失败次数等字段的影响,因此解决了多个字段耦合的影响
CloudFly ID:413670 复制

CloudFly

后端开发工程师 · 1年经验 · 字节跳动
城市北京 海淀 日薪500元/8h 时间 可工作日远程
0
累计接单
0
用户评价
0
被收藏

信用行为

0
接单数
0
评价数
0
收藏数

技术能力

AI 技能提取 | Java MySQL Redis Spring Boot Kafka Python Go C++ HTTP
编程语言: 熟练掌握Java核心知识、JDK集合和并发包常用原理、JVM内存结构和垃圾回收机制。掌握
SpringBoot等主流框架。掌握C++、Python、Go等其它语言,并且实习期间使用过
数据库:熟悉MySQL和Redis的基本使用和原理。掌握MySQL事务、日志、慢查询优化。掌握Redis基本原理、
数据结构和相关应用场景
消息队列:熟悉消息队列Kafka使用场景,熟悉消息有序性、可靠性、幂等性、消息积压解决方案
计算机基础:熟悉各种数据结构和算法,本科期间参与过ACM竞赛并获区域赛国家级奖项。熟悉计算机网络,
掌握TCP、HTTP等网络协议。熟悉操作系统,掌握进程、虚拟内存、I/O多路复用

项目经验

多阶段异步流任务框架
项目介绍:多阶段异步流任务框架是基于Java开发的任务自动调度、自动续做和重做、灵活任务配置的分布式异步
任务处理框架
个人职责:
负责架构设计:整体框架分为flowsvr层和worker层,flowsvr层负责提供http协议,并提供管理任务、调度任
务等接口,worker层负责消费任务
数据库表设计:仅设计低耦合的三张表,分别是任务信息表、任务配置表、任务位置表,方便任务快速注册、
检索和管理
分表逻辑设计:为解决数据量过大导致的性能下降,根据异步任务框架的特点,设计了一种全新的分表逻辑,
按照表中数据行数的大小分表,将冷热任务分开
进行性能调优:对任务进行压力测试,并且找到性能瓶颈并解决,性能从一开始的500QPS左右提升到
2300QPS左右
技术难点:
性能调优:对接口进行压测后发现只有500QPS左右,通过MySQL连接池优化
分表方案选型:业界中的分表组件,比如MyCat自带的分表功能,都不支持按大小分表。而框架支持的分表要
按大小分表,不断向前推进,而不是传统的分片长期稳定存在
多机竞争:存在多个worker容易拉到同一批任务的多机竞争问题,使用MySQL锁会导致CPU不稳定,因此使用
Redis分布式锁,提高了并发性能
任务排序规则:框架抽象出了一个order_time排序字段对任务排序,oreder_time受到任务修改时间、任务优先
级和任务失败次数等字段的影响,因此解决了多个字段耦合的影响
客服二维码

没找到合适的人才?

扫码添加客服极速匹配,或直接发布需求让更多人才主动报名

平台担保交易 · 1小时内不满意可退款

平台信誉与实力

基于 35,336 需求方信任

  • 支付宝企业信用分 优秀 评级
  • 市场份额约占全行业三分之一
  • 程序员兼职行业全能首选平台
查看平台资质详情
收藏