我的应用分类
一个应用,根据其实现语种、所在分层、基于架构、运行态等多个维度,可以分到不同的种类。
- 根据实现语种,可以分为java、golang、C、C++、python等,主要用于确定其基础技术栈。
- 根据所在分层,可以分为前端应用、后端应用、中间件等,主要用于确定其在数据处理中所在层级。
- 根据所处架构,可以分为单体应用、分布式应用、微服务应用,主要用于确定其完成功能占比和所在技术架构。
- 根据运行态,可以分为无状态应用、有状态应用,主要用于确定过程中的数据对于其运行状态的影响。
用户需要明确自己的应用有哪些特质,属于哪一类。
我的应用如何运行
一个应用,要真正运行起来变成一个进程,需要有合适的计算、存储和网络。 我们通常描述一个应用的运行情况,一般从运行态用户、运行时、使用的存储、网络交互等角度来进行。一般来讲,一个系统往往由多个应用组合实现功能,很少单独一个应用支撑一个系统。那么应用与应用间的交互也应该是应用运行时所需要重点考虑的方面。
请尝试使用以下角度描述自己的应用,例如一个tomcat应用
-
用户: tomcat运行用户/只读用户,以及uid、gid和所属组
-
运行时: 4C16G的VM,系统为CentOS 7
-
存储: 需要保存日志数据,使用单独数据盘或系统盘
-
网络: VM所在网络
-
附加: 监控组件、安全组件等
-
高可用: 多副本
-
外界交互:HTTP