asp中开通socket_解读web技术中的各种花式概念:tomcat、dubbo 等

现代 web 应用的基本框架

web 技术发展到今天已经走过了 30 年的历程,从一开始的纯静态页面到 JavaScript 的横空出世,从最早期网景独家的 Navaigator 浏览器到现在浏览器的百花齐放, 从集中式服务器到现代的分布式服务器集群,从前、后端的强耦合演变为现在的微服务及服务远程调用,从 pc 端到移动端,从 app 到小程序,... web 技术日新月异,迭代速度令人乍舌。从 90 代初 web 浏览器、www 的诞生,到今天 FaceBook、淘宝、微信等各大应用横行天下,web 技术可谓发生了翻天覆地的变化。 这也使得 web 开发的从业人员叫苦不迭,要学的东西实在太多了。

下图显示了现在 web 应用的一个基本框架,相比 web 1.0 时代真是复杂得多。主要体现在:客户端软硬件平台多样化;服务器端代码微服务化,微服务复用及框架多样化;服务器主机虚拟化及服务器主机部署的分布式集群化等。

d17187ced75fbdc6e1f6ac41a1c4d649.png

现代 web 应用的基本框架

下图是 web 1.0 基本框架。

a54938f87f74070f69114c38cbdcbbee.png

该图来源于“阿里技术”知乎号

想要真正精通现代 web 技术,我们还是从最基本的概念学起吧。这些新兴的名词为什么会出现?这些新兴的技术是为了解决什么样的问题而生的?

web 技术中的那些花式概念

1.apache

apache 是最原始的 web 服务器,使用 C 语言开发的,非常稳定。只支持普通网页(html)的静态解析,但可以通过插件支持 php。基本功能包括:基本网页、个人主页、虚拟主机和网页认证。
2.tomacat

tomcat 是对 apache 服务器的扩展,使用 Java 开发的。它是一个支持动态解析(jsp、asp、php、cgi等)的容器,可以独立于 apache 运行,也可以和 apache 一起使用。举个例子:apache 是一辆车,车上可以装 html,也可以装水。如果要装水的话,就得有个桶,而这个桶就是 tomcat,桶也可以从车上拿下来。

3.spring

spring 诞生于 2002 年,是一款轻量级的开源框架。它设计的初衷是面向企业,为了敏捷开发。我们这里先不谈它的面向切面(创建中间代理类,减少耦合)、控制反转(也叫依赖注入,其实就是工厂模式自动创建对象的过程)、容器等特性,这不是一两句话能讲清的。你只要记住一点:spring 和 jdk(java 开发工具集) 类似,提供了关于 java 开发各个方面的工具,比如 java io,多线程,socket 编程等等,每个方面都有很多类,很多 api 接口。

我们说 spring 是个工具集,里面涉及了多个方面的内容,而每个方面不断发展、演进,又形成了 spring boot、spring cloud 等优秀项目。

4.spring boot

spring boot 专注于快速开发单体个体微服务。

5.spring cloud

spring cloud 关注全局所有的微服务,管理着服务配置、服务发现、路由、锁等。

spring cloud 采用了基于 http 的 REST 方式, 是微服务架构下一站式解决方案。

6.dubbo

dubbo 也是一种面向微服务的基础框架,服务间采用 RPC 通信。如果把 spring cloud 比作品牌手机,那么 dubbo 就是功能手机。

另外,spring cloud 开源社区里一直有人在 commit,在演进,而 dubbo 更新乏力。

7.REST 和 RPC

RPC 基于 tcp 协议(同样可以基于 socket 自定义一套协议 ),而 REST 基于 http 协议(可以理解为就是 http 调用 ),性能上 RPC 表现更好。RPC 适合内网、高频服务调用

再谈微服务

所谓微服务就是单个应用程序拆分成许多个小型服务的一种开发方法。很容易想到的优点有:解耦、易扩展、好治理等。举个例子:

支付宝上有订购火车票的服务,现在阿里巴巴又开发了一个微信小程序,上面也可以订购火车票,那么订购火车票的代码只需要开发一份就行了,谁需要它就去找它(请求调用)就行啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值