此贴已关闭,失效。
个人基本情况
- 本人 2011 年开始参加工作,一直从事软件开发方面的工作, 目前为离职状态
- 熟悉 php 和前端相关的主流技术栈,
- 熟悉
Linux 系统运维
和 环境编译 - 熟悉主要的
国产操作系统
- 熟悉
容器构建
与容器化开发
- 了解python(运维脚本/爬虫)
- 会一点java(demo,无实际项目经验)。
擅长根据实际业务特点在技术层面设计有针对性的解决方案,实现增效降费,提升业务产出。擅长涉及高并发 IO 密集型分布式业务系统设计与开发。具有项目和团队管理经验,能够根据项目的具体情况,分析开发难点和时间节点,组建合适的团队配置,拟定开发计划,并组织实施按期交付。
期待一个靠谱的平台能够让我发光发热!
联系方式: swatchion#gmail.com (请将#替换为@)
工作经历 (为避免 TLDR,只列出近几年的工作情况)
项目经理/主管 2022.3-2023.4
行业: 计算机软件
信息系统项目
全栈项目
系统集成
HYPERF2.2
VUE 3
Postgresql
高并发
IO密集型业务
分布式系统
工作内容:
- 作为项目负责人,带领5人项目小组,负责项目启动到产品发布/交付的全部流程,并负责项目团队的绩效以及开发团队的人员招聘审核等事宜。
- 协助公司获取行业关键资质
- 管理与运维开发部门相关的互联网资产
- 项目需求分析,业务流程设计,关键节点分析
- 技术选型,产品技术手册编写,需求文档编写
- 【Hyperf 2.2】 + 【Vue 3.0】 的高并发分布式服务端开发
- PHP C++ 扩展开发
- Protobuf 和 Websocket 的高性能通信接口设计与开发
- 服务端产品的国产化 LoongArch / ARM 平台适配
- 代码仓库管理,PR 审计,看板与研发进度管理
- 服务端代码的工程化产品化 CI/CD 改造
- 授权系统业务设计与研发
- 实体化产品(光盘)交付
- 公司业务在虚拟化容器/云原生/微服务的调研
PHP 后端开发 2020.6-2022.3
行业: 网络/信息安全
ThinkPHP
Laravel
MySQL
Redis
Linux运维
工作内容:
- ThinkPHP + Bootstrap 的企业端管理软件
- Mysql 数据库性能优化和负载均衡 + Redis 缓存
- 自研项目的国产数据库适配与数据库驱动开发
- Laravel 的数据收集/清洗/格式化/持久化/同步软件
- 产品测试、打包、交付、安全加固和持续集成
近期项目说明
C/S 架构分布式终端管理系统
项目为 C/S 架构分布式
终端管理系统,开发难点在于业务运行于 私有内网
,且存在高并发 IO 密集的业务场景,终端环境复杂,硬件水平参差不齐,操作系统版本杂乱等问题。
服务端我们选择使用 php 8.0
+ hyperf
+ vue 3.0
+ antdv 3.0
+ postgresql 12
+ redis 6 以应对高并发和 IO 密集的业务难题,配合连接池
与读写分离数据库
,且用户授权基于 token ,与 cookie 和 session 无关,请求处理的性能在遇到瓶颈时,可以方便的对服务端节点进行横向扩充,经测试相较于 laravel ,业务请求的性能瓶颈和延时问题得到了有效解决。
客户端我们选择跨平台的 java 作为开发语言,有效减少了跨平台适配的时间成本。业务涉及的计算,全部在客户端侧处理,服务端对计算业务可使用的资源,计算业务的类型和调度方式以策略方式进行远程控制。
我们根据业务场景在 Protobuf 和 Websocket 基础上设计了完整的通信协议,通过对通信 payload 的极限序列化压缩和优化,并使用 php c++ 扩展解析 payload ,我们实现了用最小的数据包长度,用最少的时间解析,传递业务需要的信息,提高了双端通信的效率。最终在我们的努力下,在资源受限的情况下,实现了在单个服务端节点4C 1.5G Hz 4GB Ram 下达成了近5万的 QPS ,配合上集群的负载均衡,完全满足了产品的业务要求。
数据同步系统
由于本身公司设备类型众多,大量设备数据均为非格式化的数据,为了适应下游客户针对数据收集和管理的规范化需求,为了实现非格式数据转格式化数据,基于 Laravel 5开发了一个同时具有 web api 和 cli api 两种界面的数据同步和上报的管理终端。
底层业务实现方式为数据统一收集到 mysql 数据库后,利用订阅发布模式,基于 java 的 canal
将收到的增量数据
以消息的方式推送到 laravel,laravel 根据数据和业务类型,对数据进行统一格式化和持久化,并通过网络和远程管理系统进行交互。我根据公司的业务流程,利用注解
系统,根据产品运行环境,业务模块,日志等级,输出格式实现了一套无侵入的日志埋点系统,能够根据不同的业务场景方便的输出该终端的运行日志,能够方便的查看系统的运行状态,对故障定位与处置。
安防硬件集中管理平台
该平台收集各种设备上报的数据信息,对数据进行处理,并在管理端汇总形成报表,并提供对终端进行干预和操作的管理界面,通过网络通信和设备进行远程交互。
因设备的使用方来源及其广泛且下游由不同的分销商,因此产品根据不同的客户来源,有着众多的分枝版本。因为是维护老项目,软件系统版本较低,底层技术栈为 TP3 + mysql + jq。
以下是我接手项目以后做了一些革新:
- 增加了基于 composer 包管理器的自动加载,方便使用第三方模块来加速开发进度。
- 对系统部分可重用的代码进行了重构,对重复调用的业务,抽离出单独的工具类,并完善了重构后的开发文档。
- 对国产数据库进行了适配,国产数据库本身只提供了 pdo 的库文件,我在 pdo 的基础上做了 TP 的 ORM 驱动适配(查询构造器)
- 前端引入 layui 组件,以提高开发效率
- 基于数据的交互的业务逻辑,重新设计和实现了该产品的仪表盘 Dashboard ,并且实现了与仪表盘的交互能够直达数据处理的最底层业务。
- 底层环境优化,包括 web 服务器由 apache 更换为 nginx ,环境配置优化等。
- 优化产品版本迭代和发布的流程
推荐文章: