在线型业务的技术栈
- 首先当然是硬件,在线业务型的场景下,计算资源基本是CPU为主;存储资源则各种类型都有,主要是IO吞吐、时延、安全性等各种考虑;网络资源公网、内网类型,时延、吞吐考虑等。
- 在硬件之上(软件定义计算/存储/网络资源),基本都会使用类似K8S,或商用VMWare之类,来更方便的使用硬件资源,
- 这层软件的核心一方面是抽象硬件资源,方便上层根据需求来使用硬件资源,以及同时根据需求来匹配找到合适的资源,例如最简单的排他规则等等;
- 另一方面则是充分的提升硬件资源的使用率,例如虚拟化技术、容器化技术的引入等
- 再往上,通常就是根据业务系统的架构、建设需求做的各种中间件的选型,这些中间件最重要的是为了降低业务系统的门槛,把一些通用的技术问题解决掉,例如
- 数据库解决OLTP类型的数据读写
- Dubbo之类的服务框架解决跨系统间的同步通信
- RocketMQ之类的消息中间件解决跨系统间的异步通信等。
-
这些中间件之上,通常就是业务系统本身了,这个就完全要根据业务需求来做相应的架构设计,并且通常都会需要跟随业务的发展来不断的迭代架构(从单体 --> 分布式 --> 异地多活,推荐 郭东白《架构思维:从程序员到CTO》
大数据场景的技术栈
- 硬件
- 软件定义计算/存储/网络资源(Yarn)Yarn和K8S是两种不同的集群管理和调度系统,它们在管理资源和调度任务方面有着不同的设计目标和应用场景。,的区别如下:
- 计算引擎
- 离线型(批处理,有边界数据集):Hadoop、Spark
- 实时型(流计算,无边界数据集):Flink
- 数据库/存储
AI时代的技术栈(后面补充)
参考:AI时代的技术栈 https://mp.weixin.qq.com/s/cc1IrhTSbOyoTZ96VOikZw
标签:硬件资源,场景,AI,业务,技术,线型 From: https://www.cnblogs.com/wxdlut/p/18112127