系统架构介绍、服务器介绍、编程语言介绍
一、系统架构介绍
- 单体架构
前端(Web/手机端)+ 中间业务逻辑层 + 数据库层
特点:
(1)复杂性高
(2)技术债务
(3)部署频率低
(4)可靠性差
(5)扩展能力受限
(6)阻碍技术创新
- 分布式应用
中级架构,分布式应用,中间层分布式+数据库分布式,是单体架构的并发扩展,将一个大的系统划分为多个业务模块,业务模块分别部署在不同的服务器上,各个业务模块之间通过接口进行数据交互。数据库也大量采用分布式数据库,如redis、ES、solor等。通过LVS/Nginx代理应用,将用户请求均衡的负载到不同的服务器上。
特点:
(1)降低了耦合度
(2)责任清晰
(3)扩展方便
(4)部署方便
(5)提高代码的复用性
(6)缺点:系统之间的交互要使用远程通信,接口开发增大工作量,但是利大于弊。
- 微服务架构
微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当应用的故障不会影响到其他应用,单应用的负载也不会影响到其他应用,其代表框架有Spring cloud、Dubbo等。
特点:
(1)易于开发和维护
(2)单个微服务启动较快
(3)局部修改容易部署
(4)技术栈不受限
(5)运维要求较高
(6)分布式固有的复杂性
(7)接口调整成本高
(8)重复劳动
- serverless架构
Firebase声称开发者只需引用一个API库文件就可以使用标准REST API的各种接口对数据进行读写操作,只需编写HTML+CSS+JavaScrip前端代码,不需要服务器端代码(如需整合,也极其简单)。
(1)低运营成本
(2)简化设备运维
(3)提升可维护性
(4)更快的开发速度
(5)厂商平台绑定
(6)成功案例比较少,没有行业标准
二、服务器介绍
- IIS服务器:只能在Windows上运行,Windows服务器性能不如Linux—类服务器。
- Tomcat服务器:面向的是Java语言,是一种重量级的服务器。
- Apache:优点非常多,比如稳定、开源、跨平台等等
- Nginx:是轻量级服务器,可以实现高并发、部署简单、内存消耗少、成本低等
三、编程语言介绍
- C语言:我们认为C语言是高级编程语言的鼻祖
- C++:在C语言的基础上做了简化,更有利于我们学习
- Java:由sun公司在1995年推出,最大的特点是跨平台
- C#:由微软推出的一种语言
- Python:一种数学计算能力很强的语言
- Php:这门语言在出生的时候最大的特点就是用来做Web网站,前端是浏览器执行出来的
- Javascript:当前最流行的一种前端脚本语言
- Nodejs:全栈型语言,前后端都可以写
- Go:由谷歌推出的一种语言。