走进微服务

<meta charset="utf-8">

开篇

什么是微服务

为什么使用微服务

怎么用微服务

开篇

本文主要是介绍包括微服务的概念,微服务与传统的单系统架构以及 SOA 相比较的优劣势,最后简单说了下微服务的设计原则,开发环境,部署方式。

对于了解过微服务的大佬们,这篇文章可能不存在任何有实际价值的地方,但是有些时候概念也是要了解一下的,很多时候我们虽然知道我们要描述的东西是什么但是却无法通过语言来描述出来,笔者曾经被问过:“什么是微服务?”,虽然平时大家都在说微服务,但是一旦让自己去描述的时候可能真的就无法组织好语言。

什么是微服务

就目前看来,微服务的本身并没有严格意思上的定义,每个人对微服务的理解都不同,Martin Fowler 在他的博客中这样定义了微服务的概念:

微服务架构风格是一种将单体应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务之间采用轻量级的通讯机制,这些服务围绕业务能力构建并可以通过全自动部署,这些服务共用一个最小型的集中式的管理,每个服务可以使用不同的开发语言 ,使用不同的存储技术。

总结来说微服务的本身应该具备以下特点:

  • 每个服务独立运行在自己的进程中
  • 一系列个服务共同组成了整个系统
  • 每个服务自负责系统中某一个模块的业务功能
  • 服务之间的通信采用的是轻量级的通讯机制
  • 每个服务可以采用不同的开发语言以及可以使用不同的存储技术
  • 全自动的部署方式

为什么使用微服务

至于为什么使用微服务,传统的思想告诉我,就像买一件商品一样,我们总会相同的价格去比较质量,相同的质量去比较价格,在我们选择微服务的时候,也很容易想到“微服务能给我们带来那些好处”,这里网络上很多大佬都给出了很多关于微服务的优势,我这里打算从三个方面去阐述这个问题:

  • 传统服务(单体服务)

优势:(曾经)易开发,易测试,易部署,直到目前为止很多简单的系统任然会选择这种传 统的单服务的架构模式,其中的原因当然也是多方面的(技术,经济的角度考虑)

劣势:整个系统比较笨重,给后期的维护工作造成了 极大的压力,单系统,单存储系统, 当系统的并发量到一定的程度,显然给系统和 DB 会造成巨大的压力

  • SOA

SOA的提出是在企业计算领域,就是要将紧耦合的系统,划分为面向业务的,粗粒度,松耦合,无状态的服务。服务发布出来供其他服务调用,一组互相依赖的服务就构成了SOA架构下的系统。基于这些基础的服务,可以将业务过程用类似BPEL流程的方式编排起来,而BPEL反映的是业务处理的过程,这些过程对于业务人员更为直观,调整也比hardcode的代码更容易。

当然企业还需要对服务治理,比如服务注册库,监控管理等。

我们知道企业计算领域,如果不是交易系统的话,并发量都不是很大的,所以大多数情况下,一台服务器就容纳将许许多多的服务,这些服务采用统一的基础设施,可能都运行在一个应用服务器的进程中。虽然说是面向服务了,但还是单一的系统。

  • 微服务

某乎上关于微服务和 SOA 的区别讨论的话题很多,虽然二者都是面向服务的架构,但是 SOA 实际上也只是做到了业务上分离,在部署的时候还是将所有的业务的服务部署在了同一个服务器上,这样看来在并发量比较大的情况下,并没有对整个系统的服务器的压力带来缓解。

微服务则不同,不仅做到了每个服务单独运行在自己的进程中,而且每个服务之间独立部署,使用不同的 DB 系统,这样相比较 SOA 来说,不仅可以做到减少服务器的压力,而且降低了大量的 DB 操作压力

怎么用微服务

  • 单一职责原则
  • 服务自治原则
  • 轻量级通信原则
  • 微服务粒度

这里就不再解释每个职责的含义,至此不仅知道了微服务的定义,优缺点,还总结了一些指导性的设计原则,下面来看下如何实现微服务的架构

从开发和运行平台两个角度来考虑技术的选型

  • 开发框架的选择:

可以使用 spring cloud 作为微服务的开发框架,不仅仅是因为spring cloud 具备开箱即用的 效果而且目前位置spring cloud 的文档,等各个方面的技术支持还算是比较全面的,当然也可以选择别的框架,如阿里的Dubbo,等这些框架。

  • 运行环境:

微服务的运行并不绑定运行平台,微服务可以部署在PC Server,等云服务器上都是可以的,说到微服务的部署,不得不需要知道的就是 Docker ,它的出现给微服务的自动化部署带来极大的帮助,后面将详细的介绍微服务的 Docker 环境下的部署

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271