使用Spring Cloud 构建微服务

下面将会逐条的介绍Spring Cloud的各项组件

Spring Boot

Spring Boot 是微服务实现中使用的核心技术,Spring boot通过简化构建基于Restful的微服务的核心任务,大大简化 微服务的开发,Spring Boot 还极大的简化了将Http类型的动词映射到URL,JSON协议序列化与Java对象的相互转化,以及将Java异常映射回标准HTTP错误代码的工作。

Spring Cloud Config

Spring Cloud Config 通过集中服务来处理应用程序配置数据的管理,因此应用程序配置数据(特别是黄金特定的配置数据)与部署的微服务完全分离,这确保了不管启动多少个微服务实例,这些微服务实例始终具有相同的配置,Spring Cloud Config拥有自己的属性管理库,也可以与以下的开源项目相结合。

Git

Git 是一个开源的版本控制系统,它始终允许开发人员管理和跟踪任何类型的文本文件的更改,Spring Cloud Config 可以与Git支持的库相集成,并读出该库中的应用程序的配置数据。

Consul

consul 是一种开源的服务发现工具,允许服务实例向该服务注册自己,服务客户端可以向Consul 咨询服务实例的位置,Consul还包括可以被Spring Cloud Config使用的基于键值对的数据库,能够用来保存应用程序的配置数据。

Eureka

Eureka 是一个开源的Netfix项目,像Consul一样,提供类似的服务发现功能,Eureka同样有一个可以被Spring Cloud Config 使用的键值对的数据库。

Spring Cloud 服务发现

通过Spring Cloud 的服务发现,开发人员可以从客户端消费的服务中抽象出部署服务器的物理位置(IP或服务器名称)服务消费者通过逻辑名,而不是物理位置来调用服务器的业务逻辑,Spring Cloud服务发现也处理服务的实例的注册或者注销,Spring Cloud服务发现可以使用Consul和Eureka作为服务发现引擎。

Spring Cloud 与 Netffix Hystrix 和 Netfix Ribbon

Spring Cloud 与Netffix的开源项目进行了大量的整合,对于微服务客户端的弹性模式,Spring Cloud封装了Netfix Hystrix库和Netfix Ribbon项目,开发人员可以轻松的在微服务中使用它们。使用Netfix Hystrix 库,开发人员可以快速实现服务客户端的弹性模式,如断路器模式和舱壁模式。虽然Netfix Ribbon 项目简化了与诸如Eureka这样的服务发现代理的集成,但它也为服务的消费者提供了客户端对服务调用的负载均衡。即使在服务发现代理暂时不可用的时,客户端也可以继续进行服务调用。

Spring Cloud 与 Netfix Zuul

Spring Cloud 使用Netfix Zuul 项目为微服务应用程序提供服务路由功能,Zuul是代理服务请求的网关,确保在调用目标服务之前,对微服务的所有的调用都经过一个前门,通过集中的服务调用,开发人员可以强调执行标准服务策略,路安全验证,内容过滤,和路由规则。

Spring Cloud Stream

Spring Cloud Stream 是一种可以让开发人员轻松地处理轻量级消息处理集成到微服务中的支持技术。借助Spring Cloud Stream 开发人员能够构建智能的微服务,它可以使用在应用程序中出现的异步事件,此外使用Spring Cloud Stream可以快速的把微服务与消息代理进行整合,如RabbitMQ 和 Kafka

Spring Cloud Sleuth

Spring Cloud Sleuth 允许把唯一的跟踪标识符集成到应用程序所使用的HTTP 调用和消息通道之中,这些跟踪号码,能够让开发者在事物流经过应用程序中的不同服务时跟踪事物,有了Spring Cloud Sleuth,这些跟踪ID可以自动添加到微服务生成的任何日志记录中。Spring Cloud Sleuth 与日志聚合工具和跟踪工具结合时,能够展现出真正的威力,Papertail是一个基于云的日志记录平台,用于把日志从不同的微服务实现聚合到一个可查询的数据库中,Zipkin 可以获取Spring Cloud Sleuth 生成的数据,并允许开发人员可视化单个事物涉及到的服务调用的流程。

Spring Cloud Security

Spring Cloud Security 是一个验证和授权框架,可以控制哪些可以访问服务,以及他们可以用服务做什么,Spring Cloud Security是基于令牌的,允许服务通过验证服务器发出的令牌彼此进行通信,接收调用的每个服务可以检查HTTP调用中提供的令牌,以确认用户的身份以及用户对该服务的访问权限。此外SPring Cloud Security 支持JSON Web Token,框架标准化了创建OAUTH2 令牌的格式,并为创建的令牌进行数字签名提供了标准

代码供应

要实现代码供应,我们将会转移到其他的技术栈,Spring 框架是面向应用程序开发的,它包括Spring Cloud 没有用于创建构建和部署管道的工具,要实现一个构建和部署的管道,开发人员需要使用Travis CL 和Docker这两样工具,前者可以作为构建工具,而后者可以构建出包含微服务的服务器的镜像。

小明菜市场

springcloud 相同服务名_Spring 微服务从入门到入土相关推荐

  1. SpringCloud 教程(一)| 微服务及五大神兽组件 --- 微服务架构

    一.前言. 随着微服务技术的兴起,越来越多的项目都在使用 微服务架构,学习的趋势已经刻不容缓,这几天特意学习了一下,在此记录. 特别感谢 方志朋 老师的博客.https://blog.csdn.net ...

  2. SpringCloud学习笔记(二):微服务概述、微服务和微服务架构、微服务优缺点、微服务技术栈有哪些、SpringCloud是什么...

    从技术维度理解: 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底 地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事, 从技术角度看就是一种小而独立的处理过程,类 ...

  3. SpringCloud(第 003 篇)服务发现服务端EurekaServer微服务

    SpringCloud(第 003 篇)服务发现服务端EurekaServer微服务 - 一.大致介绍 1.众所周知,在现在互联网开发中,访问地址的IP和端口号是动态的,一个服务停掉再重新启用后IP和 ...

  4. spring-cloud Finchley.SR2版本 升级微服务到springboot 2.0

    2019独角兽企业重金招聘Python工程师标准>>> 读书笔记 spring-cloud Finchley.SR2版本 升级微服务到springboot 2.0 贴码云 https ...

  5. springcloud的简单使用_微服务架构:初识Spring Cloud

    现在无论大小公司,都会讲究微服务设计,无论应用大小,都会进行微服务架构,面试的时候,也会把微服务当成必谈的知识点.那么什么是微服务呢? "微服务"一词源于Martin Fowler ...

  6. 第四章 SpringCloud Alibaba (一)微服务环境搭建

    目录 1. 案例准备 1.1 技术选型 1.2 模块设计 1.3 微服务调用 2 创建父工程 3.创建底层数据服务 3.1 创建magic-repository服务 3.2 创建实体类 3.3 创建 ...

  7. SpringCloud笔记(一)微服务基础

    微服务基础 **注意:**此阶段学习推荐的电脑配置,至少配备4核心CPU(主频3.0Ghz以上)+16GB内存,否则卡到你怀疑人生. 前面我们讲解了SpringBoot框架,通过使用SpringBoo ...

  8. 浅谈服务治理、微服务与服务网格(Service Mesh)

    浅谈服务治理.微服务与Service Mesh Spring Cloud 之"出身名门望族" 作为当下最火热的微服务框架,Spring Cloud的名字可以说是无人不知.无人不晓, ...

  9. 浅谈服务治理、微服务与Service Mesh(一二三)

    本文为转载#原文链接:易商阜极 引言 本系列文章将为大家介绍当下最流行的服务治理.微服务等相关内容,从服务治理.SOA.微服务到最新的服务网格(Service Mesh)进行综合介绍和分析.作为本系列 ...

最新文章

  1. 关于eclipse的注释和反注释的快捷键
  2. Eclipse编译运行Native代码步骤详解
  3. Jmeter——for循环控制器和if逻辑控制器
  4. 最新版chrome 70浏览器同步、清除Cookie设置将更改
  5. Mybatis学习IDEA(1)-环境搭建以及入门案例
  6. MySQL的NULL值
  7. JDK8新特性(八)之Stream流的map()、sorted()、distinct()、match()方法
  8. linux find prune文件,Linux中find命令-path -prune用法详解
  9. USB数据采集卡关于高电压数据采集提供的解决方案
  10. 正阅读微信小说分销系统-视频教程-1.渠道商-公众号配置-基础信息
  11. 摸鱼时间,画个吃豆人玩一下
  12. C++ | 在职研究生(多重继承)
  13. 尼康d850相机参数测试软件,新功能介绍二:景深合成与自动调焦_尼康 D850_数码影像评测-中关村在线...
  14. C#宿舍管理系统(C#课程设计含源码)
  15. pandas随机抽取1000行
  16. codeforces-750【C思维】
  17. 计算机教师访谈报告,计算机老师述职报告
  18. 2015 SACC – 再谈后 IOE 时代的 Oracle 架构创新
  19. 软考程序员复习(二)计算机系统基础知识
  20. {技术资料参数}低功耗LED数码管显示驱动;LCD低功耗/抗干扰液晶显示驱动;高灵敏度抗干扰,低功耗触摸芯片(IC)

热门文章

  1. iOS开发中乱用hook可能导致灾难
  2. Microsoft StreamInsight 构建物联网
  3. go 通道 返回_GCTT 出品 | Go 语言的缓冲通道:提示和技巧
  4. 麦克风阵列降噪_黄鹂智声降噪耳机E100u,与喧嚣说再见
  5. matlab 删除路径_MATLAB自动管理文件
  6. linux ubuntu下怎样将pdf格式文件转换为doc格式文件,Ubuntu环境下把word文档转成pdf,把pdf文件转成jpg...
  7. java映射文件是哪一种xml_java解析xml的几种方式哪种最好?
  8. import cycle not allowed_Cycle药物介绍醋酸群勃龙(2)
  9. .ajax get获取案例,$.ajax GET请求案例
  10. android游戏开发者大会,第二届中国Android应用开发大会将开