微服务简介

架构演进

  • 单体应用

    • 实际上没什么架构的概念,所有的业务逻辑都在一个项目里打包成一个二进制的编译后文件,通过这个文件进行部署,并提供业务能力。它就像夫妻店,很小很灵活。但是处理能力有限;没有分工,难以扩展。
  • 分层结构(mvc)

    • 又叫“三明治”架构。分层架构中的每一层都着特定的职能。层之间是隔离的,即一个请求,必须一层一层的传递,而不能跨层传递。分层架构的流行,催生了大量的可复用的中间件。它就像一个工作室,有了明确分工的几个组,团队的能力大于个人,处理能力有了一定的提升。但是面对更复杂服务要求的时候,无论是扩展能力,还是服务能力,都有点力不从心。
  • SOA

    • 即面向服务的架构(Service Oriented Architecture),它的关注点是服务。一个服务定义了一个相对独立、自包含、可重用的业务功能。服务间一般通过企业服务总线(ESB)的方式组装起来。它就像公司一样,可以把各个较独立的服务组装起来,对外提供更复杂的服务,满足客户更多样化的需求。SOA架构要提高扩展性,就需要采用“分布式”的方式了。那么,各种服务如何行“分布式化”?这就催生了下面要说的微服务架构。也可以认为,微服务架构就是SOA架构分布式化的一种实现。
  • 微服务

    • 以一组小而自治的服务来构建整个系统,系统的一大特点是去中心化,从而实现更灵活的扩展能力。它就像集团一样,每个服务都独立而自治,整个系统(集团)具有很强的弹性,扩展自如,风险可控。当然,这样的弹性是要付出一定代价的。
网络截图,侵权可删

微服务的特点

  • 服务拆分力度更细
  • 服务独立部署
  • 服务独立维护
  • 服务治理能力要求高

微服务的拆分

  • 垂直拆分
    • 从业务维度进行拆分。标准是按照业务的关联程度来决定,关联比较密切的业务适合拆分为一个微服务,而功能相对比较独立的业务适合单独拆分为一个微服务。
  • 水平拆分
    • 从业务维度进行拆分。标准是按照业务的关联程度来决定,关联比较密切的业务适合拆分为一个微服务,而功能相对比较独立的业务适合单独拆分为一个微服务。

微服务框架

  • springcloud(主流,Pivotal java)
  • motan(微博 java)
  • Tars(腾讯 c++)
  • double+zk(阿里 java)
  • springcloud(阿里组件)
  • gRPC(谷歌 跨平台)
  • Thrift(facebook,apache 跨平台)

微服务依赖组件

  • 服务描述(服务如何对外提供功能,例 swagger、 xml、IDL)
  • 注册中心(服务订阅和发布,例 consul)
  • 服务框架(通讯协议、数据传输方式、数据传输格式)
  • 服务监控(指标收集、数据处理、数据展)
  • 服务追踪(链路追踪、性能优化 例 twitter zipkin、阿里鹰眼、美团 MTrace)
  • 服务治理(节点管理、负载均衡、服务路由、服务容错)

微服务springcloud详解

  • Eureka 注册中心
  • feign 服务调用
  • Zuul 、gateway 服务网关
  • Hystrix 熔断器
  • config (apollo协程) 配置中心
  • Bus 服务总线
  • Sleuth 链路追踪
  • Turbine 熔断监控
  • springboot admin 监控jar
  • 阿里自己的组件 nacos sentinel
  • ELK 聚合日志
image.png

微服务部署

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

推荐阅读更多精彩内容

  • 原文是 Martin Flower 于 2014 年 3 月 25 日写的《Microservices》。 微服务...
    Lord_East阅读 869评论 0 12
  • [TOC] 架构演进 单体架构初期流量比较小、功能比较简单,APP、web端、管理后台都在一个应用里面,提高开发效...
    cqxxxxxxxx阅读 424评论 0 1
  • 微服务的起源 微服务没有官方标准。当人们试图解释什么是微服务时经常会提到面向服务的体系结构(SOA Service...
    python测试开发阅读 7,211评论 0 6
  • 单体架构:软件设计中的经典三层模型架构,即表示层、业务逻辑层、数据访问层经典架构。 单体架构的缺点: 1、业务复杂...
    etheon阅读 205评论 0 0
  • 微服务是什么? 微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小、著名的"2 pi...
    勿念及时雨阅读 522评论 0 3