微服务入门ppt课件.ppt_第1页
微服务入门ppt课件.ppt_第2页
微服务入门ppt课件.ppt_第3页
微服务入门ppt课件.ppt_第4页
微服务入门ppt课件.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微服务入门介绍SpringCloud,林可斌,主要内容,一、服务架构设计的发展 二、微服务简介 三、微服务架构工作流程 四、springCloud介绍,一、服务架构设计的发展,单体架构,单一代码库、IDE友好、看着简单 容易部署 开发模型简单,一份代码库进行编码、构建和部署 技术栈单一,单体架构的特点和好处,庞大的代码库,关系错综复杂 交付周期长 扩展能力与弹性受限 新技术与工具框架使用会受限 维护成本高,单体架构的问题,服务化架构,对业务进行分层,通常分为表现层(前端)、公共服务、业务逻辑服务、数据访问层等 对业务进行解耦,通过Pub-Sub或RPC进行服务间调用关系解耦 服务独立性,多数服

2、务可以进行独立打包发布 每个服务的技术栈单一 部署简单,具备可伸缩性,服务化架构的特点和好处,对于部分服务而言,代码库依然很庞大 打包、发布、部署流程不足够好 维护团队间沟通受阻,技术经验有效传递不够 服务增多对开发人员不够友好,服务化架构的问题,微服务架构,服务注册 服务发现 服务调用,MVC SOA Micro services,架构设计发展,MVC SOA Micro services 视图、业务逻辑 前后端分离,架构设计发展,MVC SOA Micro services 视图、业务逻 大型系统分层 辑前后端分离 解耦,标准接 口调用,分布 式系统,架构设计发展,MVC SOA Micr

3、o services 视图、业务逻 大型系统分层云计算产物, 辑前后端分离 解耦,标准接 关注敏捷交付 口调用,分布 和部署速度、 式系统频次,架构设计发展,二、微服务简介,suite of small services:由一系列小服务组成 running in its own process: 每个服务运行于自己的独立进程 built around business capabilities:围绕着业务功能进行建模 independently deployable:每个服务可进行独立部署 bare minimum of centralized management:最低限度集中种管理,微服务

4、的特征,每个微服务都是业务完整的 接口及界面呈现、业务逻辑、数据管理 每个微服务仅仅对一个业务负责 产品服务、评价服务、支付服务、订单服务 每个微服务接口明确定义 接口消费只关注接口,对微服务不具备依赖 独立部署、升级和伸缩,服务的独立性与自主性,微服务的独立性与自主性,微服务间的独立性是关键,代码库独立 技术栈独立 可伸缩性、可扩展性独立 还有业务功能等,独立的代码库,每个微服务具备自己的代码仓库,由对应团队开发者维护 编译、打包、发布及部署都很快 服务启动迅速 在各个服务的代码库间没有交叉依赖,技术栈对立,每个微服务都有自己独立的技术栈来实现,根据业务实现需求来选中最合适的技术栈 团队可以

5、尝试新的技术、工具或者框架 所选的技术栈一般来说都很轻量级 不需要同一标准化技术栈的选择。无需针对技术选型而纠关注业务实现,独立的可伸缩性,每个微服务都可以独立的伸缩,更加直观定位性能瓶颈 数据库分片可以根据需求来,业务功能独立,每个微服务可以在不影响其他微服务的情况下进行功能扩展,例如更新新版本界面或者某个微服务中的某项功能时,无需更新整个系统 可以进行整个业务功能的重写,并替换之 *要保证接口明确定义且稳定,微服务优点,每个服务足够内聚,足够小,代码容易理解、开发效率提高 服务之间可以独立部署,微服务架构让持续部署成为可能; 每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的

6、需要部署到合适的硬件服务器上; 容易扩大开发团队,可以针对每个服务(service)组件开发团队; 提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪; 系统不会被长期限制在某个技术栈上。,微服务不足,“微服务”强调了服务大小 业务逻辑。 分区数据库 测试,三、微服务架构工作流程,微服务架构工作流程,设计阶段 将产品功能拆分为若干服务 为每个服务设计API接口 开发阶段 实现API接口(包括单元测试) 开发UI原型(页面) 测试阶段 前后端集成 验证产品功能 部署阶段 发布测试环境 发布生产环境,四、springCloud介绍,springCloud介绍,Sp

7、ring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。,springCloud主要成员,主要的小弟有:Spring Cloud Config、Spring Clou

8、d Netflix(Eureka、Hystrix、Zuul、Archaius)、Spring Cloud Bus、Spring Cloud for Cloud Foundry、Spring Cloud Cluster、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper、Spring Cloud Connectors、Spring Cloud Starters

9、、Spring Cloud CLI,每个小弟身怀独门绝技武功高强下面来做一一介绍。,Spring Cloud Netflix,这可是个大boss,地位仅次于老大,老大各项服务依赖y于它,与各种Netflix OSS组件集成,组成微服务的核心,它的小弟主要有Eureka, Hystrix, Zuul, Archaius,Netflix Hystrix,熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。比如突然某个小弟生病了,但是你还需要它的支持,然后调用之后它半天没有响应,你却不知道,一直在等等这个响应;有可能别的小弟也正在调用你的武功绝技,那

10、么当请求多之后,就会发生严重的阻塞影响老大的整体计划。这个时候Hystrix就派上用场了,当Hystrix发现某个小弟不在状态不稳定立马马上让它下线,让其它小弟来顶上来,或者给你说不用等了这个小弟今天肯定不行,该干嘛赶紧干嘛去别在这排队了。,Netflix Eureka,服务中心,云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。这个可是springcloud最牛鼻的小弟,服务中心,任何小弟需要其它小弟支持什么都需要从这里来拿,同样的你有什么独门武功的都赶紧过报道,方便以后其它小弟来调用;它的好处是你不需要直接找各种什么小弟支持,只需要到服务中心来领取

11、,也不需要知道提供支持的其它小弟在哪里,还是几个小弟来支持的,反正拿来用就行,服务中心来保证稳定性和质量。,Netflix Zuul,Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。当其它门派来找大哥办事的时候一定要先经过zuul,看下有没有带刀子什么的给拦截回去,或者是需要找那个小弟的直接给带过去。,Spring Cloud Config,俗称的配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。就是以后大家武器、

12、枪火什么的东西都集中放到一起,别随便自己带,方便以后统一管理、升级装备。,Spring Cloud 的优势,微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢? 产出于spring大家族,spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善。比如dubbo现在就差不多死了 有spring Boot 这个独立干将可以省很多事,大大小小的活spring boot都搞的挺不错。 作为一个微服务治理的大家伙,考虑的很全面,几乎服务治理的方方面面都考虑到了,方便开发开箱即用。 Spring Cloud 活跃度很高,教程很丰富,遇到问题很容易找到解决方案 轻轻松松几行代码就完成了熔断、均衡负责、服务中心的各种平台功能,与Spring Boot的关系,Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论