ID:413670

CloudFly

后端开发工程师

  • 公司信息:
  • 字节跳动
  • 工作经验:
  • 1年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 可工作日远程
  • 所在区域:
  • 北京
  • 海淀

技术能力

编程语言: 熟练掌握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受到任务修改时间、任务优先
级和任务失败次数等字段的影响,因此解决了多个字段耦合的影响

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服