中小互联网(电商)公司研发部门组织架构
1. 产品部门
产品组:产品设计
设计组:视觉设计
2. 研发部门
前端部门:
手机端: Android、IOS
H5:web页面,微信小程序
服务端部门:
业务部门:
营销域:直播,活动,优惠券,秒杀,推送...
交易域:商品,订单,支付,物流,结算...
其他:管理后台...
架构部门:
基础业务组: 负责下沉业务开发(用户服务,订单服务,商品服务,风控)
基础架构组: 负责基础架构搭建开发(MQ, Cache, RPC, Job...)
大数据部门:
开发组: 大数据环境搭建和维护,埋点,数据ELT,job。 业务开发(推荐,猜你喜欢),模型应用
BI组:数据ELT,报表展示
模型组: 数据分析、模型训练
测试部门:
功能测试组:对产品定义的功能进行测试
自动化测试组:接口自动化测试,性能测试
项目管理部门:项目管理,项目开发节奏制定
3. 运维部
DBA:搭建和维护数据库环境,构建安全,高可用数据库环境,对线上慢SQL提供优化方案。
运维:
服务器运维:服务器机房搭建,维护,线上网络环境设置,软件环境搭建,系统发布等软件开发。
IT运维: 公司局域网、无线网络搭建,打印机,电话,远程会议设置,办公人员机器采购,维护,VPN,域管理
不同公司 ,业务不同,规模不同,研发组织架构也会不同, 即使同一个公司,不同时期,研发组织架构也会不同,并非一成不变,但始终是为公司业务服务。
开发管理工具:
- 源代码: gitlab
- 仓库:Nexus
- 编译发布 jenkins + Sonar
- 知识库:Confluence
- 流程管理:jira
- 项目管理:禅道/自研符合自己实际情况软件
- bug管理: jira
- 线上异常应急处理规范:团队协商
- code review规范:团队协商
- 团队开发文化:
开发规范
- 代码管理规范: gitlab + gitflow + 团队协商
- 代码提交规范 Commitizen + Git Commit Template(idea plugin)
- 编码规范 : 阿里Java开发手册 + alibaba-java-coding-guidelines(idea plugin) + 团队协商 + 代码风格:checkstyle(idea plugin)
- 数据库规则: 阿里Java开发手册 + 58数据库军规 + 团队协商
- 项目结构规范:团队协商,定义好分层规范和分层命名规范,协议好配置文件位置,日志格式,类命名等, 项目warmup, health, status, version接口规范。 项目README.md内容
- 依赖规范:JDK, 日志组件,本地缓存组件,reids驱动,mysql驱动,分布式锁等尽量采用相同的技术组件实现,在相同技术组件基础上尽可能的组件版本统一。
- 打包规范:团队协商
服务端常用组件
- 硬负载:F5/Netscaler
- 软负载:LVS/Nginx
- 服务端容器:Tomcat/jetty
- 数据库:mysql/mongo/hbase/Neo4j/influxdb
- 数据库中间件:shardingsphere/mycat/altas
- 项目开发:spring+mybatis
- 开发框架:spring/spring boot
- 网关:spring cloud gateway/kong
- 服务保护:sentinel/Hystrix
- 微服务框架:dubbo/spring cloud
- 分布式Id:Leaf/tinyid
- 分布式事务:seata
- 消息队列:rocketmq/kafka/rabbitmq
- 定时调度:xxl-job/elastic-job
- 配置系统:apollo/disconf
- 本地缓存:guava/caffeine
- 分布式缓存:Redis
- 缓存框架:spring cache/AutoLoadCache/jetcache
- 数据同步:datax
- 监控报警:cat
- 全链路:skywalking/zipkin/Pinpoint
- 注册中心:nacos/zookeeper/consul
- 分布式锁:zookeeper/redis/consul
- 文件服务:fastdfs
- mysql数据订阅:canal
- 搜索:elasticsearch/solr
大数据规范
- 数据表规范: ODS/DW/DM/ADS分层规范,表命名规范
- 脚本规范:脚本存放地址,脚本命名,资源依赖。
- 上线规范:脚本上线流程规范
大数据常用组件
- 大数据基础平台: CDH/Ambari/HDP
- 日志收集:Flume/Logstash
- 数据传输:kafka
- 数据迁移 canel/sqoop/datax
- 存储系统:HDFS
- 数据库系统:Mongodb/HBase/mysql/redis/ES
- 集群资源管理器:YARN
- 分布式计算框架:
- 批处理框架:MapReduce
- 流处理框架:Spark/Flink
- 查询分析框架:presto/clickhouse/druid/kylin
- 分布式协调服务:zookeeper
- 任务调度框架:Azkaban、Oozie、airflow、DolphinScheduler
- 报表:tableau/superset
- 元数据管理:atlas/自研
- 指标管理:自研
- 数据血缘管理:atlas/自研
- 数据质量:Griffin/自研
- job依赖管理:airflow二次开发/自研