话说本人从事java也有一年多时间了,但是对于软件的架构体系不怎么清楚,还有服务器的概念一直感觉很模糊,今天有幸做了整理,在此记录以便后忘。
1.关于软件的架构,一种是c/s架构,一种是b/s架构。
何为b/s架构呢?(浏览器/服务器架构)就是指数据和程序都在服务器端,客户端通过浏览器访问程序并获取数据。这种架构的最大好处就是服务器端程序一旦修改,所有客户端访问的都最新的程序,开发人员只管维护服务器就行了,不用管客户端维护的事。这种架构的最大缺点就是,由于客户端都是使用浏览器来访问服务器程序的,数据最终显示在浏览器中,浏览器有多强,数据就能显示成什么样式,数据的显示样式最终由浏览器决定。由于这种特性,所以b/s架构很少用来开发一些对显示有特殊要求的程序,例如游戏,现在的浏览器很难做到把数据显示成一个人,拿着一把刀,到处找人PK,并且还不卡。
何为c/s架构呢?就是指程序运行在客户机上,数据在服务器上。这种架构有一个很大的毛病,就是程序一旦修改,需要更新所有的客户机程序,客户机多,维护的工作量相当恐怖。这种架构的优点是:由于数据的计算在客户机上,服务器的压力小,并且由于数据的显示也由程序员自己编写gui程序完成,显示不受限制。所以c/s架构适合用于开发像游戏这样的程序。
但是,随着网络带宽的不断提升,云计算概念的提出,浏览器只要足够强大,c/s架构立马就会被淘汰,不仅c/s架构会被淘汰,软件最终都会消失、操作系统都可以没有,最终将会是b/s架构的天下,也就是浏览器+搜索引擎的天下。所有现在桌面软件提供的功能,最后都由网站提供,也就是说,将来打开电脑就是一个浏览器,想要什么服务,通过搜索引擎一找,就可以在网上找到相应的服务,用就是了。所以web开发人员是现在最流行的岗位。
2、服务器到底是什么?
服务器就是一台PC电脑 8G内存 8核 以T为单位
Web服务器: PC电脑具有Web服务的软件, 称之为Web服务器
数据库服务器: PC电脑具有数据管理的软件, 称之为数据服务器
邮件服务器: PC电脑具有发送邮件的软件, 称之为邮件服务器
我们经常说的web服务器tomcat,实际上是一个pc电脑上安装了tomcat这个软件,这时我们把它叫做web服务器。