工作项目:API网关
内部App、Web应用API统一流量入口。使用Zuul实现API网关统一处理用户身份认证,权限校验。结合Hystrix限流、熔断防止某个服务把问题扩大,Consul作为配置中心和动态修改配置
• 收集web请求,服务内部使用restTemplate或feign请求日志,记录requestId及其他app信息存在至ElasticSearch,使用Kibana可视化工具搜索查看日志,可根据requestId查出调用服务链路
• 用户Token验证及接口权限校验
• 使用Redis实现分布式锁防止接口重复提交
• 接口请求异常报警,拦截Spring mvc、Jersey接口调用未处理异常报警,RestTemplate、Feign接口调用非2xx报警
)
工作项目:安卓推送ipush_server
为公司Android应用提供消息推送服务。分为消息推送模块、推送反馈模块、客户端上报模块,以及数据统计模块。服务启动后,使用Netty网络框架接受移动客户端发起的连接,建立SocketChannel,并通过接受客户端App发出的心跳包的方式判断客户端是否活跃,从而维持或断开SocketChannel
• 使用RocketMQ从队列消费消息,加入到消息仓库中(ConcurrentSkipListMap) ,消息推送服务循环从消息仓库获取最新消息,通过和客户端建立的连接将消息发送到对端App
• 接收客户端反馈消息包加入反馈队列(Disruptor),更新客户端成功接收消息记录
• 接收客户端report数据包,从而建立或更新客户端连接