1.阅读过Spring源码,深刻了解Spring容器启动的过程
2.深刻理解SpringBoot,SpringMVC,MyBatis等主流开发框架
3.熟悉SpringCloud微服务框架
4.深刻理解Redis在项目中各种场景的使用,了解Redis底层实现原理以及主从,哨兵,集群架构
5.熟悉Jvm内存模型,并了解过Jvm,Gc性能调优
6.使用RocketMq、RabbitMQ、kafka等消息中间件
7.使用Mysql、ClickHouse等数据库技术,并熟练掌握数据库优化与SQL优化技巧
8.具有基于SpringCloud微服务架构的服务搭建与开发经验
9.对Netty有一定的使用和了解,理解BIO,NIO,Reactor模型
10.了解JMM线程模型,对于多线程,分布式系统有丰富的开发经验
11.对Jenkins,Apollo,XXL-Job,arthas,docker等开源项目有一定使用经验
12.熟悉Activiti6工作引擎
13.了解zookeepe作为注册中心的使用
14.了解Dubbo,Nacos,feign等分布式框架
项目链接:https://www.mudu.com
项目描述:
虚拟化活动平台一开始的目的是为了整合公司现有的三个产品做一个统一的整合(目睹直播,目睹有课,目睹企播),通过对现有项目以及客户反馈的内容和市场的大环境,决定做一套针对于企业培训,企业活动,发布会以及企业研讨会整合的平台,项目为多租户的SaaS平台,租户可以以活动为维度,针对需要举办的活动创建相应的直播间,并且按照当前举办活动的需求创建相应的互动方式来丰富自己的直播内容,整个项目分为三个平台。
1.运营平台:主要用于账号开户,购买直播资源包,企业审批,订单冲销等,目标用户为目睹内部的客服人员或者销售人员
2.控制台:主要用户创建活动,日程,门票,报名,直播以及一些系列的互动功能,目标用户为购买了平台产品的客户,在举办一场直播以前需要使用控制台来配置一些功能,以及直播过后通过控制台查看一些直播数据等。
3.观看页:主要用于观看直播,参与互动等功能,目标用户为B端客户的用户操作流程为主办方先去运营平台申请账号开户,购买直播相关的资源包已经短信资源包,然后去控制台配置自己自己要举办的活动,创建相关日程,嘉宾,直播间,活动落地页等数据,按照直播的场景开启相关的互动功能,最后发布活动,将活动连接通过微信,微博,或者内部分享的方式进行宣传,最后到活动报名时间后观众通过主办方选择的准入方式,进行报名,购买门票,手机号或者匿名的方式进行登录观看直播,并参与事先主办方配置好的互动功能。
主办方先在运营平台申请账户开户,购买直播资源包和短信资源包。然后,在控制台中配置要举办的活动,包括日程、嘉宾、直播间和活动落地页等数据。按照直播场景开启相关的互动功能(如抽奖、签到、表单、红包、竞答、打赏和点赞等)。最后发布活动,通过微信、微博或内部分享等方式宣传。观众通过主办方选择的准入方式进行报名、购买门票,并通过手机号或匿名登录观看直播并参与已配置好的互动功能。
项目职责:
项目使用的SpringCloud+feign+nacos的项目结构,apollo作为配置中心,使用redis作为缓存和分布式锁,使用kafka和RocketMq作为消息中间件,xxl-job作为分布式定时任务,使用MySQL和ClickHouse作为数据存储,作为该项目的一名开发人员,我的职责主要包括:
1.列表直播和拉流直播模块的设计和实现
2.互动模块的设计和实现,包括聊天、抽奖、签到、表单、红包、竞答、打赏和点赞等功能
3.微信登录和支付功能的设计和实现
4.数据统计相关功能的设计和实现
5.编写完整的后端设计文档,包括数据库设计、功能流程设计以及对原有功能可能的影响考虑等
6.数据聚合思维,将大量数据通过批量消费、层层聚合过滤,并保存到数据库中提供页面展示操作
7.协助其他团队成员完成相关开发任务,提供技术支持和解决问题