技术架构及选型

这是是一个通用的公司技术架构图,不同的公司规模或者产品不同,最后的架构图可能会有出入,但是大部分都是通用的,这个图也算是有点规模的公司最终落地的技术形态了。

在看技术架构图之前需要有一个观点:为什么要选用这个技术?

任何一个技术都有自己的适用场景,因为各种各样的原因,也会出现重复造轮子的情况,但是最后在生产环境中只会选择一个来使用,可能是使用简单、或者运维简单、或者受限公司开发水平。正是因为这些原因,也要求我们在实际选型中需要考虑到实际的因素,不仅要保持公司技术的领先,也需要保证产品的可靠性。

我们先考虑下面这几个问题,后续会对每个环节的技术做一个具体对比和推荐

负载均衡、网关
1、什么场景下采用HaProxy,什么时候用Nginx
2、有没有必要购买F5
3、API Gateway主要用来做哪些功能
4、如果进行全链路的追踪

数据存储
1、Mysql和Pg该选哪个
2、什么场景下才需要用到ES
3、redis适合用来存储什么数据
4、piplinedb、clickhouse、kudu用在什么场景
5、Palo用在什么场景
6、数据库运维管理该怎么做

离线计算、实时计算
1、Hive如何优化
2、每天凌晨大量任务时如何对任务编排,使集群使用率最高
3、如何检测跨项目的依赖任务有没有执行完
4、storm、spark、kafka stream如何选用
5、如何快速开发实时程序

定时任务
1、不同用户下的crontab如何管理
2、集群节点上的定时任务和管理

监控报警
1、如何设置报警策略,报警忽略、报警升级等
2、报警需要的数据如何采集、如何展示
3、如何复原异常现场