关于本站

站长

站长勉强算作80后,也勉强算作90后,夹缝中生存。

一直想做个个人网站,以前一直是c++程序员,貌似不搭界。偶然间工作开始使用了golang,貌似能写写后端,那么就写一个吧!

个人简历

联系方式

  • Email:sryan#qq.com / sryanyuan#gmail.com

个人信息

工作经历

同程艺龙 T6(高级/资深工程师) ( 2016年4月 ~ 至今 )

数据库中间件

  • 项目简介 MySQL分库分表中间件
  • 职责
    1. 负责日志模块的重构和配置重构
    2. 设计及开发了支撑代理运行的配置中心、控制中心、接口服务与监控服务。
    3. 负责整个管理系统的设计与开发
  • 技术点
    1. MySQL交互协议实现
    2. 连接池、事务连接绑定
    3. 分片数据整合
    4. NSQ->Prometheus->Grafana的监控数据流
  • 价值 为业务提供了业务层面无关的分库分表服务

数据平台

  • 项目简介 MySQL数据同步、数据订阅平台。为全公司提供MySQL消息变更订阅、数据同步服务、异地多活。
  • 职责
    1. 负责数据平台接口服务开发
    2. 负责MySQL数据源采集、分片库合并设计与开发
    3. 负责MySQL实时增量同步设计与开发
    4. MySQL集群高可用方案设计与实现
  • 技术点
    1. Binlog协议解析
    2. 多工作线程分发与数据一致性
    3. 操作系统文件缓存在系统崩溃/掉电下回写失败导致数据丢失
    4. MySQL主从切换后的快速恢复
    5. 容器化子任务以及任务容器的升级
    6. 分片数据、DDL合片
  • 价值
    1. 撑除MySQL自带的主从同步外所有的数据同步以及分片库合库,用于异构后支持OLAP查询
    2. 支撑全公司所有的MySQL数据订阅需求,总共有150+个数据库实例接入,线上1300+容器运行。
    3. 异地双活支持

唐人数码 ( 2012年6月 ~ 2016年4月 )

各种棋牌/休闲游戏逻辑

为游戏大厅编写各种棋牌/休闲游戏的客户端与服务器。服务端代码的整合、游戏大厅的重构工作。

手游平台

负责手游架构的设计,后端设计和开发了网关、房间、逻辑、机器人服务器;负责游戏客户端游戏部分的框架搭建设计以及开发工作。

  • 技术点

    1. Go与C++动态链接库与Lua脚本的交互(用于快速重用已有游戏逻辑代码)
    2. 各个服务器的功能分层与交互(设计为可扩容、缩容的网关服务器、游戏服务器、逻辑服务器与机器人服务器)

独立RPG游戏 ( 毕业后业余时间 )

BackMIR

  • 简介

    使用了传奇资源制作的一款RPG游戏。独立实现了客户端与服务端的开发,贴吧关注人数15000+、发帖数300000+,高峰时期同时在线人数130+。

  • 技术栈

    客户端: Hge+DirectX7 , C++&&Lua

    服务端: Libevent, C++&&Lua

    登陆/Web服务器: Go

  • 特性

    1. 支持联机游戏与战网游戏
    2. 怪物系统
    3. 装备系统(极品、鉴定、手工锻造、合成)
    4. 任务系统(主、支线任务)
    5. 固定地图场景与动态地图场景(副本)
    6. 技能系统
    7. 职业系统(支持PVP)
    8. 战网在线寄售系统
    9. 聊天组队系统(社交)

  • 开源资源

    部分老旧服务端代码开源于bmserver

技术栈

  • 熟悉 C++/Go/Lua
  • 熟悉网络编程
  • 熟悉mysql,innoDB。对MySQL高可用有研究和兴趣。
  • 熟悉promethues、grafana
  • 熟悉docker