内容:服务模块一: SSO 服务
责任描述:
1. 负责创建会员服务和 SSO 单点登陆系统项目
2. 负责会员服务核心模块开发(令牌 Token 登陆和多端唯一登陆接口的开发)
3. 负责会员服务 QQ 和微信联合登陆功能开发
4. 负责 SSO 单点登陆系统的开发
技术描述:
令牌登陆实现:
(移劢端、 PC 端、微信端)调用会员服务登陆接口成功后,返回对应的 Token 令牌,有效期为 90 天,客户端保存该 Token 信息,客户端使用令牌关联用户会话信息。使用 UUID 随机生成 Token 令牌、用户登陆成功后会生成对应的 Token 令牌作为 key,存入在 Redis 中, Redis 中令牌对应的Value 为 UserId、有效期为 90 天。
唯一登陆实现:
后端实现:使用数据库表记录每次客户端登陆的 Token 令牌,每次产生新的用户 Token 都会删除上一次登陆的 Token,客户端采用定时器检查当前客户端保存的 Token 是否过期戒者是否重复登陆。
前端实现:采用定时器形式,使用 Token 调用验证接口是否已经过期。
联合登陆实现:调用腾讯/微信开放平台,使用 OAuth2.0 授权获取用户相关 openid,使用openid 关联会员服务账号信息
SSO 登陆实现:使用 XXL-SSO 框架实现微服务平台单点登陆开发
服务模块二: 至信企业查询平台
责任描述:
1. 负责企业搜索服务接口的开发
2. 负责实现 Elasticsearch 与 MySQL 数据库同步问题
技术描述:
MySQL 与 ES 数据同步:
采用 MQ 实时性和 Logstash 定时实现 MySQL 与 ES 同步MQ 同步方案:发布/修改/删除/商品的时候,以 MQ 异步形式同步到Elasticsearch 中,可以实时保证双方数据一致性问题。
Logstash 同步方案:使用 Logstash 定时方式读取数据库最新的数据>=update_time 时间 ,让后在格式化成 json 格式输出到Elasticsearch 中。 (后续可以基于阿里巴巴的 Canal 异步订阅 MySQLBinLog 文件实现同步)
服务模块三:聚合支付平台
使用技术:
构建微服务聚合支付平台,整合第三方支付接口(支付宝、银联支付、微信支付等),封装成接口提供给服务接口使用。
责任描述:
1. 与第三方支付接口平台技术人员对接
2. 聚合支付平台数据库表结构设计
3. 基于设计模式构建聚合支付平台
4. 基于 seata 实现分布式事务解决方案
5. 使用 xxl-job 实现聚合支付对账
6. 常用遇到支付难题问题解决
技术描述:
与第三方支付接口平台技术人员对接负责支付宝、微信支付、银联支付等支付接口技术人员沟通对接
聚合支付平台数据库表结构设计负责聚合支付平台数据库表结构设计, payment_channel 渠道表、payment_transaction 流水表、 payment_transaction_log 日志表等实现完全可视化界面支付开关控制支付渠道。
基于设计模式构建聚合支付平台
使用策略+工厂设计模式实现支付接口提交 html 表单元素重构、使用模版方法+工厂设计模式实现共同异步回调代码重构,采用多线程+MQ 实现支付回
调日志收集
使用 xxl-job 实现聚合支付对账
使用分布式任务调度平台 XXL-JOB 实现支付接口产生延迟导致订单状态不同步实现自劢化补偿,每天晚上两点钟时间定时触发任务,商户端主劢使用支付id 调用第三方支付渠道接口查询支付状态是否已经支付过,如果第三方支付渠道接口已经支付过,同步商户端订单状态。基于 MQ 实现分布式事务解决方案在微服务系统中,支付服务调用积分服务接口增加对应积分,该场景存在分布式事务问题,我们采用 rabbitMQ 实现+补单形式保证最终一致性实现双方数据同步
服务模块四:日志采集平台 ELK+Kafka
项目描述:搭建分布式日志采集平台统一管理微服务日志文件,方
便开发者生产环境查询日志
责任描述:
1. 搭建 ELK+Kafka 收集日志平台
2. 使用 Aop 技术将日志信息投递到 Kafka 中
3. Logstash 订阅 Kafka 将日志信息输出到 ES 中技术描述:ELK+Kafka 收集日志平台原理使用 AOP 技术环绕和异常通知拦截日志文件信息,转化成 json 格式投递到Kafka 主题中, Logstash 订阅 Kafka 主题实时将日志信息输出到 ES 中,最后使用 kibana 调用 ES 接口以图形报表信息查询日志。
业绩:1.