个人中心
个人中心
添加客服WX
客服
添加客服WX
添加客服WX
关注微信公众号
公众号
关注微信公众号
关注微信公众号
升级会员
升级会员
返回顶部
2018年通信业务公司软件研究院微服务架构与实践培训课件
2018年通信业务公司软件研究院微服务架构与实践培训课件.pdf
下载文档 下载文档
管理专题
上传人:地** 编号:1266419 2024-12-16 45页 1.07MB
1、1微服务架构与实践微服务架构与实践2018年5月霍龙社霍龙社2什么是微服务典型的微服务架构RESTful API使用Spring Boot编写微服务使用Spring Cloud构架微服务系统常用开发环境和工具目录3应用系统架构演进集中式架构 单体应用中最常见的架构模式分布式架构 将一个大的任务拆分到不同的机器中进行计算,最后由一台服务器合并计算结果微服务架构 由一系列独立运行的微服务组成4单体架构表示层逻辑层数据层Web容器逻辑上分层:MVC物理上运行于同一台及其的同一个进程之中优点易于开发易于测试易于部署易于水平伸缩缺点学习困难,新人培养周期长适配新技术困难快速开发困难测试困难部署困难,持续2、交付周期长扩容困难,可扩展性差构建全功能团队困难5微服务架构6微服务是一种架构风格7由一系列小服务组成每个服务运行于自己的独立进程围绕着业务功能进行建模最低限度集中每个微服务都是业务完整的每个微服务应仅对一个业务负责每个微服务接口明确定义独立部署、升级和伸缩微服务特征8代码库独立每个微服务具有自己单独的代码库可独自编译、测试、打包、发布和部署服务启动迅速各个服务的代码库之间没有交叉依赖技术栈独立每个微服务都可以采用自己独立的技术栈来实现团队可以尝试使用新的技术、语言、工具和框架,易于引入新技术所选的技术栈一般来说都很轻量级不需要统一标准化技术栈,开发人员关注与业务实现而非技术可伸缩可扩展性独立3、每个微服务都可以独立伸缩更加直观定位技术瓶颈可以根据需求来对数据库进行分片业务功能独立每个微服务可以在不影响别的微服务情况下进行功能扩展可以进行整个业务功能的重写和替换部署可以灵活增添新的业务功能微服务的独立性与自主性9微服务的优点和挑战10典型的微服务架构API网关微服务A数据库A微服务B数据库B微服务C微服务注册中心用户认证授权中心浏览器日志测量监控消息中间件11API网关是一个特殊的微服务用于为后端微服务提供一个统一的访问入口HTTP路由负载均衡安全QoS控制接入控制熔断机制API网关12微服务注册中心微服务注册中心也是一个特殊的微服务主要用于微服务的注册与发现,进而为API路由、负载均4、衡、微服务扩缩容等提供支撑微服务注册微服务发现微服务配置中心微服务监控管理13用户认证授权中心(UAA)UAA也是一个特殊的微服务,为系统提供一个统一的安全控制服务主要用于用户的认证、鉴权、授权,以及基于角色的访问控制用户管理角色管理用户认证授权基于角色的访问控制14消息中间件消息中间件由一组特殊的微服务组成(例如Kafka,zookeeper等)主要用于系统中微服务间异步消息/数据的高效传输和处理数据过滤在边缘节点分析和压缩数据以缩减需要传输和处理的数据量数据传输处理数据中心内部及之间的异步消息/数据传输数据处理低延时、高吞吐量数据传输、聚合和分析15日志、测量和监控由一组特殊的微服务组成主5、要用于搜集、记录系统运行过程中的日志以及告警、性能等监控数据,并以图表化的形式进行可视化展示日志及测量数据索引日志处理和分析可视化展示16微服务访问-RESTful 对外提供资源供别人(浏览器,客户端,别的微服务,别的应用系统,)来访问 访问类型:增,删,改,查微服务的作用 进程间通信 RPC RESTful API:目前最流行的互联网接口事实标准,结构清晰、符合标准、易于理解、扩展方便如何访问微服务17 表现层状态转化:Representational State Transfer Roy Thomas Fielding博士2000年在其博士论文中提出RESTRESTful资源微服务对外提供6、服务,供外界访问的资源数据用一个URL来表示,例如:/api/users表现层资源的表现形式,例如:html,xml,json通过HTTP协议来传递应该在HTTP请求的头信息中用Accept和Content-Type字段来指定状态转化HTTP:无状态协议HTTP方法:GET,POST,PUT,DELETE,PATCH,HEAD,OPTIONS客户端采用HTTP协议,使用GET/POST/PUT/DELETE等方法,通过服务器对外暴露的URL端点来对服务器端资源进行操作,在客户端和服务器之间传递这些资源的某种表现层,从而实现服务器端资源状态的转化。18RESTful API所有对微服务的访问都是7、通过访问RESTfulAPI来进行的定义APIHTTP方法GETPOSTPUTDELETE资源URL用于定位资源,例如:/api/usersURL参数用于过滤资源,例如:?age18&group=student表现HTTP请求头HTTP请求体HTTP响应码HTTP相应头HTTP响应体19GETGET/api/users获取所有用户信息GET/api/users?age18获取所有年龄大于18的用户的信息GET/api/users/zhangsan获取用户zhangsan的信息GET/driving_route?from=“金融街”&to=“小汤山”POSTPOST/api/users新增一个用8、户(HTTP请求体中携带用户信息)PUTPUT/api/users/zhangsan修改用户zhangsan的信息DELETEDELETE/api/users所有所有用户DELETE/api/users?age18删除所有年龄大于18的用户DELETE/api/users/zhangsan删除用户zhangsanRESTful API举例注意:URL只是服务器暴露给外界的资源访问端点,具体资源如何存放和操作由服务器后端的业务逻辑来实现20利用Spring Boot和Spring Cloud构建微服务系统Spring Boot:编写单个微服务程序Spring Cloud:搭建微服务框架微服务应用9、系统21使编码变得更简单使配置变得更简单使部署变得更简单使监控变得更简单Spring Boot Spring是基于Java的Web应用开发框架 SpringBoot是伴随着Spring4.0诞生的 从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架 SpringBoot帮助开发者快速启动一个Web容器 SpringBoot继承了原有Spring框架的优秀基因 SpringBoot简化了使用Spring的过程22Spring Boot使编码变得更简单声明一项依赖添加一个方法生成一个微服务:内嵌Tomcat容器的JAR包23Spring Boot使配置变得10、更简单Spring由于其繁琐的配置,一度被人认为“配置地狱”“配置地狱”,各种XML、Annotation配置,让人眼花缭乱,而且如果出错了也很难找出原因Spring Boot更多的是采用Java Config的方式对Spring进行配置24Spring Boot使部署变得更简单My code第三方库嵌入式HTTP容器hello.jar一键启动减压Java jar hello.jar不需要部署应用服务器WebSphereApplication ServerWebLogicTomcat降低对运行环境的基本要求运行环境中有JDK即可默认内嵌Tomcat25Spring Boot使监控变得更简单2611、Spring CloudSpring Cloud是基于Spring Boot的一整套实现微服务的框架利用Spring Boot的便利性巧妙地简化了分布式系统基础设施的开发如服务注册与发现、API路由、负载均衡、配置中心、消息总线、断路器、数据监控等功能,都可以用Spring Boot的风格做到一键启动和部署Spring Cloud并没有重复制造轮子,它只是将目前市场上各家公司开发的较为成熟、经得起实际考验的服务框架整合起来,通过Spring Boot风格进行再封装屏蔽掉复杂的配置和实现原理,最终给开发者贡献一套简单易懂、易开发、易部署和易维护的分布式系统开发工具包27Spring Boot是一12、套Spring的快速配置脚手架,基于Spring Boot可快速开发单个微服务专注于快速、方便地构建单个个体使用默认大于配置的理念,很多集成方案已经为用户选择好了,能不配置就不配置Spring Cloud是一套基于Spring Boot实现的微服务云应用开发框架关注全局的服务治理框架很大一部分是基于Spring Boot来实现Spring Cloud与Spring Boot的关系28Spring Cloud29Spring Cloud ConfigSpring Cloud NetflixSpring Cloud BusSpring Cloud for Cloud FoundrySpring C13、loud Open Service BrokerSpring Cloud ClusterSpring Cloud ConsulSpring Cloud SecuritySpring Cloud SleuthSpring Cloud Data FlowSpring Cloud StreamSpring Cloud Stream App StartersSpring Cloud TaskSpring Cloud Task App StartersSpring Cloud ZookeeperSpring Cloud for Amazon Web ServicesSpring Cloud Connec14、torsSpring Cloud StartersSpring Cloud CLISpring Cloud ContractSpring Cloud GatewaySpring Cloud OpenFeignSpring家族成员30NetFilx是一家在全球范围内提供流媒体视频服务的公司Netflix OSS组件是由Netflix公司开发并开源的一套微服务框架,这套框架在Netflix公司大规模微服务环境中经过数年的生产环境检验被证明是可行的Spring Cloud Netflix是利用Spring Boot编程框架基于Netflix OSS组件的再次封装,提高了易用性以及与Spring Cl15、oud其他组件的整合性,构成了Spring Cloud的核心组件Spring Cloud NetflixService Discovery(Eureka)Circuit Breaker(Hystrix)Intelligent Routing(Zuul)Client Side Load Balancing(Ribbon)31服务注册与发现Eureka server:8761微服务1:8080(Eureka client)微服务2:8081(Eureka client)浏览器32服务注册与发现Eureka ServerEureka Client33API网关(HTTP路由)Eureka serve16、r:8761微服务:8090(book-service)Zuul proxy:8080(API网关)浏览器34API网关API gateway微服务35客户端负载均衡(反向代理)微服务say-hello(副本1):8090Ribbon client:8080(API网关)浏览器微服务say-hello(副本2):8091微服务say-hello(副本3):809236客户端负载均衡(反向代理)37Hystrix断路器微服务:8090(book-store)Hystrix:8080(API网关)浏览器38Hystrix断路器Hystrix断路器微服务(Bookstore)开启微服务(Bookstore):关闭微服务(Bookstore):39Spring配置中心微服务:80809001(Actuator)浏览器ConfigServer:8888配置文件(git)40Spring配置中心41微服务部署42常用开发环境和工具43常用开发环境和工具44常用开发环境和工具45谢谢!谢谢!
会员尊享权益 会员尊享权益 会员尊享权益
500万份文档
500万份文档 免费下载
10万资源包
10万资源包 一键下载
4万份资料
4万份资料 打包下载
24小时客服
24小时客服 会员专属
开通 VIP
升级会员
  • 周热门排行

  • 月热门排行

  • 季热门排行

  1. 2025商场地产夏日啤酒龙虾音乐嘉年华(吃货的夏天主题)活动策划方案-47页.pptx
  2. 2022城区自来水提质改造智慧水务建设项目设计方案(199页).pdf
  3. 陕西化学工业公司招聘管理与职业发展管理手册30页.doc
  4. 动火作业安全告知卡(1页).docx
  5. 高处作业安全告知卡(1页).docx
  6. 广场工程建设项目施工招标评标报告表格(24页).pdf
  7. 原油码头消防工程维保方案(39页).docx
  8. 建筑工程外脚手架专项施工方案(悬挑式脚手架、落地式脚手架)(25页).doc
  9. 2020柏向堂房地产公司材料标准化手册3.0(143页).pdf
  10. 2021柏向堂房地产公司材料标准化手册4.0(108页).pdf
  11. 土建、装饰、维修改造等零星工程施工组织设计方案(187页).doc
  12. 深圳装饰公司施工图纸会审及设计交底管理制度【13页】.doc
  13. 房地产开发贷款实操指南(5页).pdf
  14. 学校宿舍楼建设工程施工方案【153页】.docx
  15. 住宅小区工程施工方案【234页】.docx
  16. 鄂尔多斯空港物流园区总体规划方案(2017-2030)环境影响评价报告书(23页).doc
  17. 规划兰园西路道路工程环境方案环境影响评价报告书(89页).pdf
  18. 屋面圆弧形穹顶结构高支模施工方案(40米)(47页).doc
  19. 埋石混凝土挡土墙施工方案(23页).doc
  20. 重庆市五小水利工程建设规划报告(64页).doc
  21. 厂区至矿区管网蒸汽管道系统扩容改造工程施工组织设计方案(105页).doc
  22. 超高纯氦气厂建设项目办公楼、变电站、水泵房及消防水池、门卫、厂房、仓库、配套工程施工组织设计方案(140页).doc
  1. 房地产交易环节契税减征申报表(首套填写)(2页).doc
  2. 2025商场地产夏日啤酒龙虾音乐嘉年华(吃货的夏天主题)活动策划方案-47页.pptx
  3. 2024大楼室内精装修工程专业分包投标文件(393页).docx
  4. 苏州水秀天地商业项目购物中心100%室内设计方案(158页).pptx
  5. 2022城区自来水提质改造智慧水务建设项目设计方案(199页).pdf
  6. 小区人员配置档案建立保洁绿化物业管理服务投标方案(593页).docx
  7. 室内移动式操作平台工程施工方案(19页).doc
  8. 地铁6号线区间盾构下穿管线专项施工方案(30页).doc
  9. 矿山治理工程施工组织设计方案(240页).docx
  10. 老旧小区改造工程施工方案及技术措施(364页).doc
  11. 2021柏向堂房地产公司材料标准化手册4.0(108页).pdf
  12. 川主寺城镇风貌整治景观规划设计方案(60页).pdf
  13. 建筑工程三级安全教育内容(24页).doc
  14. 新疆风电十三间房二期工程49.5mw风电项目可行性研究报告(附表)(239页).pdf
  15. 土建、装饰、维修改造等零星工程施工组织设计方案(187页).doc
  16. 四川凉山攀西灵山国际度假区小镇活力中心商业业态规划方案建议书(33页).pdf
  17. 埋石混凝土挡土墙施工方案(23页).doc
  18. 地下停车场环氧地坪漆施工方案(45页).doc
  19. 深圳装饰公司施工图纸会审及设计交底管理制度【13页】.doc
  20. 住宅定价策略及价格表制定培训课件.ppt
  21. 西安名京九合院商业项目招商手册(28页).pdf
  22. 2010-2030年湖北咸宁市城市总体规划(32页).doc
  1. 建筑工程夜间施工专项施工方案(18页).doc
  2. 赣州无动力亲子乐园景观设计方案(111页).pdf
  3. 2016泰安乡村旅游规划建设示范案例(165页).pdf
  4. 房地产交易环节契税减征申报表(首套填写)(2页).doc
  5. 龙山县里耶文化生态景区里耶古城片区旅游修建性详细规划2015奇创.pdf
  6. 连云港市土地利用总体规划2006-2020年调整方案文本图集(78页).pdf
  7. 850亩项目塑钢门窗工程施工组织设计方案(34页).doc
  8. 老旧小区改造工程施工方案及技术措施(364页).doc
  9. 城市更新项目地价公式测算表.xlsx
  10. 房地产项目规划前期投资收益测算模板带公式.xls
  11. 存储器基地项目及配套设施建筑工程临时用水施工方案(40页).docx
  12. 铁路客运枢纽项目站前框构中桥工程路基注浆加固专项施工方案(19页).doc
  13. 室内移动式操作平台工程施工方案(19页).doc
  14. 装配式结构工业厂房基础、主体结构、门窗及装饰工程施工方案(83页).doc
  15. 地铁6号线区间盾构下穿管线专项施工方案(30页).doc
  16. 施工工程安全教育培训技术交底(13页).doc
  17. 老旧小区改造施工方案及技术措施(365页).doc
  18. 新建贵广铁路线下工程沉降变形观测及评估监理实施细则(126页).doc
  19. 消防火灾应急疏散演练预案(12页).doc
  20. 矿山治理工程施工组织设计方案(240页).docx
  21. 崖城站悬臂式挡墙施工方案(92页).doc
  22. 北京科技园公寓建设项目整体报告方案.ppt