绝大多数开源软件都研究过原理或者源代码实现
有多年互联网架构、管理、编码经验。负责日活数千万的物联网公司的底层iot后台。设计过很多比如业务国际化的技术难点的解决方案和架构。可以用90%以上的单元测试覆盖率保证核心代码近似零bug,学习并在项目中实践过springcloud,solr,rocketmq, netty, redis,hystrix等开源软件,并研读过源代码。喜爱钻研新技术。
项目名称:摩拜单车国际化
@参与设计了整个国际化方案。
@全球分3个大区域,区域之中的绝大部分数据保存在本地给本地用户提供服务,
@用户可以选择自己所在区域,之后会有能在一分钟之内的数据简单同步,把重要的总账等几个重要的最终结果数据同步,保证本地的数据为本地开锁服务。
@分机房的ota和AT&T,verizon,vodafone的外国网络支持
项目名称:物联网短信网关
@对每条发送记录匹配回调记录,可以监控短信从发送到接收的时间,并且每月出一次账单和中国移动的账单做对账
@用Smpp协议接入AT&T通道;用https接入verizon,acloud和联想通道;
用cmpp协议重构中国移动通道
@针对verizon的oauth过期导致大量发送失败的情况,设计oauthtoken交换漂移解决oauth短暂失效问题,达到token的平滑更换
项目名称:基于mqtt协议的iothub
@上行信息发送:物联网设备通过tcp长连接到moquette服务,moquette处理mqtt协议,并且发布设备的上行信息给rocketmq,有rpc端的consumer接收设备发布的信息,调用对应的rpc服务。微服务提供方编写consumer接收mqtt服务请求。
@下行信息发送:后端服务发布给特定设备下行信息,通过rocketmq中转到对应长连接的机器,有设备端consumer接收服务端发布的信息,树形匹配topic,查询设备在哪台机器,转发下行信息信到这个机器和设备通信
@支持Qos0/Qos1
@有session保存client订阅关系,client断线重连之后可以查询到之前的session
项目名称:基于coap协议的iothub
@通过开源的californium实现coap协议,coap协议的好处是能获取交互的response。
@代理服务维持设备的基于tcp之上的coap长连接,不用业务会注册不同的url, 上行信息根据request填入的productkey查询应该转发的url进行转发转发.
@业务方推送下行信息给代理服务,代理查询如果设备没有连接到服务端就记录离线消息,等设备连接上触发连接事件;如果设备在线,把下行消息转发到设备连接的机器上进行发送。
项目名称:物联网ota服务
@把不同版本的固件都切分好,之后通过后端ota配置要升级的固件版本,升级车的范围规则,城市信息等各种信息以及升级开始时间
@ota开始后后端服务循环分发切分好的固件给设备,每次一小批,全程记录每台车的ota过程,每完成一辆车就把一辆没有升级过的新车加入分发列表。
@如果车没有连上服务器,会通过下发下行物联网短信让设备连接服务。