美文网首页
到底需不需要微服务?聊聊微服务的前世今生

到底需不需要微服务?聊聊微服务的前世今生

作者: 程序猿蓝天 | 来源:发表于2019-12-02 22:50 被阅读0次

前言

微服务在IT圈成了一个很热的词,甚至有的开发团队在初始阶段就直接将系统打造成微服务体系。微服务究竟是什么呢?

微服务从字面理解就是一个个微小的服务组成的体系,我们今天从软件系统的发展变迁开始来聊聊微服务的前世今生,看看我们是否需要微服务。

软件系统的发展变迁

在上世纪五十年代,诞生了人类第一台计算机,人们只能依靠纸带打孔输入的方式让计算机做简单的运算。可以说这算是一个微服务了,这是中国古代就有的算盘都能够做到的事情。正是那个时候,一只虫子的出现让Bug这个词有了新的含义。

人类不会就此满足,希望计算机能够代替人类完成更多的工作。从最早的图灵机理论到约翰·冯·诺依曼计算机架构,计算机理论体系同摩尔定律加身的硬件发展不断推动计算机从原来的庞然大物变成如今轻薄的个人笔记本电脑。

光靠计算机的发展还不够,Internet的出现真正让IT技术得到飞速的发展,在那时人们开始期待通过网络获取内容,了解外面的世界。上世纪90年代初HTML诞生了,成为了资源处理共享的标准化协议。

随着电脑小型化,越来越多的用户开始使用搜索引擎,人们对内容的展现也有了更高的要求,比如传输效率,页面样式等等。2000年左右的时候AJAX使得互联网页面实现了局部刷新,再到后来B端和S端的通信可以仅仅是传输文本数据。

2007年随着iPhone的推出,移动互联网浪潮正式拉开序幕,互联网用户激增,各种应用场景被挖掘出来满足用户的需求。社交,购物,娱乐等方方面面都离不开网络应用,7 * 24的稳定服务,能够抗住高并发的压力成为了软件开发团队需要思考的问题。如今已经是内容为王,流量为王的时代,快速满足用户需求也使得我们对软件开发团队的效率要求越来越高。

软件开发再不能采取瀑布式开发模型了,产品迭代的速度也在加快以应对需求变化。面对越来越多的需求,拆分模块,分解任务成为了必须要做的事情。为了高可用,就必须将单体应用拆分才能保证应用升级时不会影响用户使用。以下是微服务结构图。

为用户提供好的体验,满足用户的需求是一贯的宗旨,实现具体的业务一直是软件系统发展的主线。当然啦,任何事物都有优缺点,微服务也不例外,我们还是要结合自身情况考虑是否使用微服务。

适合自己的才是最好的

与单体应用相比,微服务的运维和测试难度更高。不论是监控还是发布更新都是令人头疼的事情,好在Docker等容器化技术的出现让我们有机会让微服务变得简单,也正是因为容器化技术的出现,让微服务变得流行。

实际上,早在2006年,CNCF(云原生服务计算基金会)就开始着手为微服务铺路架桥。负责容器编排的Kubernetes,负责监控的Prometheus等等一系列的开源产品都是微服务的好帮手。

可以看出,一方面,我们要面对复杂需求场景下软件开发成本上升的压力,另一方面还要考虑引入微服务之后要通过一系列工具解决因微服务带来的维护测试难度提升的问题。没有一个“金锤子”能够敲定一条不变的界限让我们做出选择。

如果是开发全新的应用,有的人认为应该一开始就使用微服务体系,而其他人则认为应该从单体应用开始做到一定规模后再引入微服务比较好。对于传统的应用是否有必要拆分成微服务,也要依应用自身因素决定,只能说参考微服务发展动向选择适合自己的才是最好的。

掌握微服务最新动向

作为开发者,我们都对新技术充满好奇,也希望自己的应用能够经得起挑战,时时刻刻掌握技术的最新动向是十分必要的。就微服务来说,我们可以只使用Kubernetes,也可以使用服务网格(Service Mesh)。每一种微服务技术都蕴含着设计者对微服务的思考以及自身的设计理念,这些内容会让我们得到启发。

相关文章

  • 到底需不需要微服务?聊聊微服务的前世今生

    前言 微服务在IT圈成了一个很热的词,甚至有的开发团队在初始阶段就直接将系统打造成微服务体系。微服务究竟是什么呢?...

  • 【干货】订阅号开发[3] 微信服务端验证与消息接收

    微信服务接入 微信服务器传递signature、timestamp、nonce、echostr这四个参数。定义时需...

  • 微服务应该具备的功能

    微服务应该具备的功能 >> 微服务应该具备的功能微服务,可以拆分为“微”和“服务”二字。“微”即小的意思,那到底多...

  • 微店铺怎么开通?怎么做推广?

    微店铺怎么开通? 微店铺针对的是有营业执照的商家,通常为企业。因为开通微店铺需要验证过的微信服务号,而验证服务号需...

  • 微服务前世今生

    前言 “微服务”架构一夜之间忽然火遍全球,各种技术大会的主题都和微服务沾边,各种类型企业的软件架构都在提“微服务”...

  • 微服务的前世今生

    从单体架构到微服务 演进过程 动力:随着业务量的庞大,架构也会越来越复杂 单体架构 将所有功能打包成war或jar...

  • 在阿里云的CentOS7上安装免费证书

    背景 起因是为微信小程序配置后端服务; 按照微信小程序的要求, 必须提供HTTPS+域名服务(需备案). 这篇文章...

  • 目录

    前言 微服务前世今生 微服务拆分技术 微服务合并技术 微服务架构一致性专题 微服务架构部署专题 微服务架构运维专题

  • 微服务课程

    师者——传道、授业、解惑也学者——知其然而知其所以然 一 微服务的前世今生(什么是微服务?什么是服务?) \ 首先...

  • 酷班车-nodejs后端

    Nginx反向代理Nodejs服务器 微信小程序服务器需要https服务,在此前提下需先为域名配置SSL证书 腾讯...

网友评论

      本文标题:到底需不需要微服务?聊聊微服务的前世今生

      本文链接:https://www.haomeiwen.com/subject/gpdqgctx.html