ID:344775

L.

Java后端开发

  • 公司信息:
  • 吉游网络
  • 工作经验:
  • 4年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 可工作日远程
  • 可工作日驻场(离职原因)
  • 可工作日驻场(自由职业原因)
  • 所在区域:
  • 上海
  • 浦东

技术能力

熟悉游戏业务和技术框架,包括战斗系统、登录服、逻辑服、跨服、日志服等
熟悉并掌握Java核心,包括java并发编程、网络编程、设计模式、数据结构、锁、AQS、CAS等,并在项目中熟练使用
熟悉JVM,熟悉双亲委派机制、常用垃圾回收算法、对各种垃圾回收器都有了解,并进行过线上项目的优化
熟悉Spring、SpringMVC、SpringBoot、SpringCloud 、SpringCloud Alibaba、MyBatis、Nginx、Nacos、JUnit、Netty等框架
熟悉mysql及sql优化,对mysql事务、锁、索引、存储引擎都有深入研究,并参与过线上调优、分库分表
熟悉redis,具有集群搭建、性能调优、分布式锁等实战经验;且熟练使用Guava Cache本地缓存
熟悉RabbitMQ消息中间件,具有线上调优、消息可靠性问题处理等实战经验
熟悉Java设计模式,了解分布式事务,分布式锁,熟练使用RabbitMq中间件
熟悉TCP/IP协议,熟练并使用Jetty、Netty等网络框架,有开发游戏核心网络的实战经验。
自动化部署Git、Svn、Jenkins,熟悉Linux命令,Docker容器 ,Maven项目管理
熟悉前端;js、node.js、vue、ElementUI
其他:了解并使用过Python、C++及Lua

项目经验

项目名称:三国小将
项目介绍:2023年7月微信上线,是一款三国卡牌类游戏,30人项目编制,
技术栈: MySQL + Redis + GuavaCache + Jetty + Netty + Quartz + RabbitMQ
职责描述:
开发gvg玩法,引入netty长链接通讯方式,4核8g的机器JVM分配5g的内存,Jmeter测试:每秒吞吐量1万8千多,CPU压力不到30%
研究核心战斗系统和技能系统
负责本服和跨服大型玩法系统架构设计(副本、养成系统、活动、聊天、邮件、排行榜、走格子、跨服战,公会战等)
分析文档,设计底层数据结构,提供第三方接口,并分配开发工作,推进项目进度
负责后端项目框架维护和调整
开发易维护、可复用、可扩展、灵活性好的公共模块组件
使用docker部署新跨服环境(git、jdk、mysql、redis集群),解决服务器吞吐量问题
培养和对新人代码Review
项目难点:

随着游戏的线上运行,前期买量进行测试,bug对于在线运营的游戏收入和测试数据影响很大,关服和加班加点解决bug都需要时间
跨服数据的体积量越来越大,同步数据性能遇到瓶颈,如果盲目提高服务器配置会增加成本
战斗流程和技能系统增加频繁,特别是技能buff的后续增加存在互斥和克制的效果,容易因为考虑不周造成严重bug,且外挂泛滥,影响游戏生态
大型跨服项目,业务会随着时间产生变化,需要有一些的状态用于服务端和客户端的同步问题,需要服务端承担起项目沟通、推进的工作
解决方案:

开发补丁系统,利用java的反射机制,将要更新的json文件和class文件上传,修改JVM中的class文件和重读服务器中表对象对应的json文件。
在世界服战斗的高并发场景下,redis缓存玩家基础数据,线程池处理业务, 增大吞吐量
配置多台跨服服务器,根据游戏服业务将请求分散到不同的服务器上面,缓解高频跨服活动高频战斗 的cpu压力
引入Google Guava和Redis缓存,缓解数据库的读压力,来提高服务器性能,增加吞吐量
将战斗系统进行优化,所有技能效果都以buff的形式出现,以时间点(回合前、回合后、攻击前、攻击后等)来进行事件(攻击、buff的生成和销毁、进入下一回合)的触发和处理,事件彼此之间不存在强关联性,便于后续维护和扩展,不同技能效果通过增加buff和时间点来实现。
开发反作弊系统,设计时间校验和战斗校验两种方式,对堪堪通过校验的玩家进行日志追踪。



项目名称:三国纷争
项目介绍:2022年前出上线,一款经典重度三国卡牌游戏,30人项目编制,测试模型显示月流水可到达3000万左右
技术栈:Jetty + Mysql + Redis + GuavaCache + Quartz + Json + Guava + Docker
职责描述:

研发系统功能(跨服战、全服排行榜、系统养成、活动开发等)
对接微信推送接口和数数打点的玩家行为收集
微信版本的开发和维护
开发战斗系统
项目难点:

随着游戏的运营,游戏排行榜业务需求多、修改频率高、排序方式不同,影响开发效率,且采用mysql形式进行存储,读写压力大
客户端开发压力大,人员不足,往往服务端没有时间与客户端核心协议和数据
解决方案:

开发可扩展、高并发、高可用的排行榜系统,使用redis zset结构提供多种排序机制(名次、积分)避免因相同业务重复开发的人为bug,提高开发效率
调整开发流程,充分了解游戏流程,完成系统开发和协议数据,减少与客户端对协议的时间

案例展示

  • 奥特曼王者传奇

    奥特曼王者传奇

    项目介绍:2020年发行,一款基于日本超人气IP:奥特曼的一款3d卡牌游戏,百人团队项目 技术栈:SpringBoot + Mina + Protobuf + MySQL + Redis + Maven + JUnit 项目职责: 研发系统功能(跨服战斗系统,玩

  • 三国小将

    三国小将

    项目介绍:2023年7月微信上线,是一款三国卡牌类游戏,30人项目编制, 技术栈: MySQL + Redis + GuavaCache + Jetty + Netty + Quartz + RabbitMQ 职责描述: 开发gvg玩法,引入netty长链接通讯

查看案例列表(含更多 0 个案例)

信用行为

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

发布任务

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

微信接收人才推送

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

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