我正在参加「掘金·启航计划」
最近正在入门javaEE,了解到了系统架构。 在软件开发中,有两种常见的软件系统架构
⭐C/S 架构
- 也就是 Client/Server 客户端/服务器 模式
- 比如说我们使用的一些桌面程序应用,如QQ客户端、腾讯会议。
- 这种架构模式需要客户下载对应的客户端软件才能使用
优点
- 速度快 因为软件中大部分都集成到客户端中,和服务器端的数据交换较少
- 服务器压力小
- 画面更优 可以做更酷炫的动画与界面
- 客户端体验好 因为服务器压力小,所需数据交换也快
- 安全 仅有少部分数据储存在服务器端,数据丢失或数据泄露的风险较小
缺点
- 升级维护差 因为使用客户端软件,每次更新都需要下载最新版本的客户端软件。如果该架构使用在多人使用的系统软件中,比较麻烦
⭐B/S 架构
- 也就是 Browser/Server 浏览器/服务器 模式
- 算是一种特殊的C/S架构,只不过这个客户端是一个浏览器
- 只需要在浏览器输入相关网址,就能跳转使用
优点
- 升级维护好 只需要更新服务器,而客户也只需要更新浏览器,就能升级使用
- 不需要安装特定的客户端软件 一浏览器走天下
缺点
- 速度慢 由于所有的数据都来自于服务器,交换频繁,所以效率也慢
- 服务器压力大
- 需要考虑性能问题 仅在浏览器上不能完成太多酷炫的画面
- 体验感可能不那么好
- 不安全 所有数据都储存在服务器,服务器一但遭遇一些不可逆转的损坏,所有客户的数据都会丢失
⭐总结
- 比如说一些公司、银行内部员工使用的一些打卡系统,业务系统。因为人员多,且必须保证每个员工都需要使用最新的系统。更适合B/S架构
- 娱乐软件,比如说QQ等,更需要炫酷的界面,更好的体验,更适合C/S架构
- 无论哪种架构,都需要使用在最适合的场景,没有好坏之分