互联网服务:从单一应用到微服务

1.概述

       互联网是20世纪最伟大的发明之一。1975年,美国布鲁克林的罗伯特·卡恩发明了TCP/IP协议;后来,美国国防部高研署(DARPA)将TCP/IP的软件提供给加利福尼亚大学Berkeley分校后,TCP/IP很快被集成到Unix中,同时出现了许多成熟的TCP/IP应用程序接口(API)。这个API称为Socket接口。TCP/IP协议和Socket套接字奠定了互联网的发展。

       互联网的最伟大之处在于:把单一的世界通过一种叫做网络的方式连接在一起。凭这一点,信息可以互联,世界可以沟通;凭这一点,互联网足够伟大。

      但互联网的发展有其逻辑,我个人把互联网发展的逻辑归结为两条:1)从单一服务到复杂服务,再到各自分治的服务;2)从低效的传输方式到高效的传输方式。我个人将在几篇博客中试着把这一切讲明白。

2.互联网与HTTP

      互联网的发展,离不开TCP/IP协议族。即使OSI试图用七层协议来建立网络的标准,但用于TCP/IP协议成为了事实的标准。(OSI的七层协议和TCP/IP的四层协议的区分如下图所示)

     互联网最开始的雏形是ARPANET,最初的ARPANET只有4 个节点,随后的ARPANET把很多节点连接了起来。

     真正让全世界连接起来的互联网是万维网,即World Wide Web。万维网的主要思想是:1)网页服务器;2)网页浏览器;3)不同浏览器和服务器连接的协议。万维网连接的最著名或者最有意义的协议是HTTP,其他万维网协议均借鉴了HTTP。

     因此,后来的互联网和HTTP发展息息相关。

3.最基本的架构:单一服务

     互联网最基础的服务是:单一服务。

     单一服务架构如图所示:

  单一服务的特点是:

  1)所有的功能集成在一个项目工程中并部署到服务器;

  2)应用与数据库分开部署。

  单一服务的优点在于:

   1)服务简单;

   2)管理简单;

   但单一服务不适用于大型服务场景,不适用于多任务和跨语言开发的场景。

4.服务升级版:垂直服务

   随着服务的进一步升级,互联网成立垂直服务。垂直服务如图所示:

    垂直服务的特点是:

    1)大型项目进行拆分;

    2)服务之间耦合性较大。

   垂直服务是对单一服务的升级版。

5.大型网络版:SOA

   随着网络服务的大型化,SOA成为了服务发展的趋势。

   SOA的结构图如图所示:

      

   SOA的特点是:

  1)基于 SOA 的架构思想将重复公用的功能抽取为组件,以服务的形式给各系统提供服务;

  2)各项目(系统)与服务之间采用 WebService、RPC 等方式进行通信;

  3)使用 ESB 企业服务总线作为项目与服务之间通信的桥梁。

  SOA是进一步的功能拆分和细化。

6.最新的思想:微服务

    最新的思想是:微服务。微服务的架构如下:

    

      微服务的特点是:

      1)将系统服务层完全独立出来,并将服务层抽取为一个一个的微服务;

      2)微服务中每一个服务都对应唯一的业务能力,遵循单一原则;

      3)微服务之间采用 RESTful 等轻量协议传输。

      微服务是更高一级的拆分,微服务意味着每个服务都独立起来。但微服务也意味着管理的更高难度,意味着服务治理更不容易。

6.结论

      从单一服务到微服务,是互联网发展的必然。因为,互联网承载的任务越来越多,其结构必然越来越复杂;结构的复杂性,也意味着其管理结构会采用更合理的方式。但把服务进行拆分,也意味着管理更加困难,这非常考验工程师的设计能力。

     另一方面,微服务说是一种趋势,毋宁说是一种趋势。微服务听起来很高大上,但其实也仅仅是互联网上的一种组件化,这和谷歌的推广有关。微软的COM没有推广,但微服务却推广起来了,很大原因和企业的发展有关,和技术并没有必然联系。但这种模块化思想,值得研究和思考。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值