1. 首页
  2. 开发
  3. 列表

changs 2019-04-13 19:26:20 2157

本文接之前的《Spring Cloud构建微服务架构(四)分布式配置中心》,继续来说说Spring Cloud Config的使用。

changs 2019-04-13 19:26:20 2140

Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口;而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息。Spring Cloud Config实现了对服务端和客户端中环境变量和属性配置的抽象映射,所以它除了适用于Spring构建的应用程序之外,也可以在任何其他语言运行的应用程序中使用。由于Spring Cloud Config实现的配置中心默认采用Git来存储配置信息,所以使用Spring Cloud Config构建的配置服务器,天然就支持对微服务应用配置信息的版本管理,并且可以通过Git客户端工具来方便的管理和访问配置内容。当然它也提供了对其他存储方式的支持,比如:SVN仓库、本地化文件系统。

changs 2019-04-13 19:26:20 2178

在Spring Cloud封装的Feign中并不直接支持传文件,但可以通过引入Feign的扩展包来实现,本来就来具体说说如何实现。

changs 2019-04-13 19:26:20 2345

Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定。它具备可插拔的注解支持,包括Feign注解、JAX-RS注解。它也支持可插拔的编码器和解码器。Spring Cloud Feign还扩展了对Spring MVC注解的支持,同时还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。

changs 2019-04-13 19:26:20 4428

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。它是一个基于HTTP和TCP的客户端负载均衡器。它可以通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用。

changs 2019-04-13 19:26:20 2032

在微服务架构中,我们通常都会采用DevOps的组织方式来降低因团队间沟通造成的巨大成本,以加速微服务应用的交付能力。这就使得原本由运维团队控制的线上信息将交由微服务所属组织的成员自行维护,其中将会包括大量的敏感信息,比如:数据库的账户与密码等。很显然,如果我们直接将敏感信息以明文的方式存储于微服务应用的配置文件中是非常危险的。针对这个问题,Spring Cloud Config提供了对属性进行加密解密的功能,以保护配置文件中的信息安全。比如下面的例子:

changs 2019-04-13 19:26:20 4495

在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、这里我们即将介绍的LoadBalancerClient等。对于这些接口的定义我们在上一篇介绍服务注册与发现时已经说过,Spring Cloud做这一层抽象,很好的解耦了服务治理体系,使得我们可以轻易的替换不同的服务治理设施。

changs 2019-04-13 19:26:20 4449

在之前的《Spring Cloud构建微服务架构:分布式配置中心》一文中,我们介绍的Spring Cloud Server配置中心采用了Git的方式进行配置信息存储。这一设计巧妙的利用Git自身机制以及其他具有丰富功能的Git服务端产品,让Spring Cloud Server在配置存储和管理的上避开了很多与管理相关的复杂实现,使其具备了配置中心存储配置和读取配置的基本能力;而更上层的管理机制,由于不具备普遍适用性,所以Spring Cloud Server并没有自己去实现这部分内容,而是通过Git服务端产品来提供一部分实现,如果还需要更复杂的功能也能自己实现与定义。即便如此,对于Spring Cloud Server默认使用Git来存储配置的方案一直以来还是饱受争议。所以,本文将介绍一下Spring Cloud Config从Edgware版本开始新增的一种配置方式:采用数据库存储配置信息。

changs 2019-04-06 12:14:42 1861

Kafka是一个由LinkedIn开发的分布式消息系统,它于2011年初开源,现在由著名的Apache基金会维护与开发。Kafka使用Scala实现,被用作LinkedIn的活动流和运营数据处理的管道,现在也被诸多互联网企业广泛地用作为数据流管道和消息系统。

java spring springboot springcloud 微服务 kafka 消息

changs 2019-04-06 12:12:46 1879

在《Spring Boot中使用RabbitMQ》一文中,我们已经介绍了关于消息代理、AMQP协议以及RabbitMQ的基础知识和使用方法。下面我们开始具体介绍Spring Cloud Bus的配置,并以一个Spring Cloud Bus与Spring Cloud Config结合的例子来实现配置内容的实时更新。

java spring springboot springcloud 微服务 rabbit 消息

changs 2019-04-06 12:10:31 2001

在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是在之前的示例中,这个服务注册中心是单点的,显然这并不适合应用于线上生产环境,那么下面在前文的基础上,我们来看看该如何构建高可用的Eureka Server集群。

java springboot springcloud 微服务

changs 2019-04-04 16:51:40 1898

我们需要将权限控制这样的东西从我们的服务单元中抽离出去,而最适合这些逻辑的地方就是处于对外访问最前端的地方,我们需要一个更强大一些的均衡负载器,它就是本文将来介绍的:服务网关。服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制等功能。Spring Cloud Netflix中的Zuul就担任了这样的一个角色,为微服务架构提供了前门保护的作用,同时将权限控制这些较重的非业务逻辑内容迁移到服务路由层面,使得服务集群主体能够具备更高的可复用性和可测试性。

spring springcloud 微服务 服务网关

changs 2018-05-25 15:59:16 2728

在本文中,我们将学习如何构建一个基于Git存储的分布式配置中心,并对客户端进行改造,并让其能够从配置中心获取配置信息并绑定到代码中的整个过程。

spring cloud springcloud 微服务 分布式 配置中心

changs 2018-05-18 09:26:54 2476

《spring cloud微服务开发》系列,讲解如何通过Feign消费服务上传文件

spring cloud springcloud 微服务 服务消费 Feign 文件上传

changs 2018-05-18 09:22:08 2191

《spring cloud微服务开发》系列,讲解如何通过Feign消费服务

spring cloud springcloud 微服务 服务消费 Feign

changs 2018-05-13 15:05:42 1921

《spring cloud微服务开发》系列一,讲解如何通过Ribbon消费服务

spring cloud springcloud 微服务 服务消费 Ribbon

changs 2018-05-13 15:00:09 2055

《spring cloud微服务开发》系列一,讲解如何向消费服务

spring cloud springcloud 微服务 服务消费

changs 2018-05-13 14:35:51 2156

《spring cloud微服务开发》系列一,讲解如何向服务注册中心注册服务

spring cloud springcloud 微服务 服务发现

changs 2018-05-13 14:25:21 2056

《spring cloud微服务开发》系列一,给服务注册中心加入安全认证机制。

spring cloud springcloud 微服务 注册中心 安全认证

changs 2018-05-12 18:45:43 2527

《spring cloud微服务开发》系列一,服务注册中心

spring cloud springcloud 微服务 注册中心

木星 2016-08-25 20:13:27 2544

提供java开发利器Intellij14-15的安装文件及破解工具

java 开发工具 Intellij 破解

changs 2017-03-12 16:01:57 2582

介绍下在项目中集成springmvc、mybatis、shiro框架

springmvc mybatis shiro

changs 2017-03-11 15:08:49 2642

本文给大家介绍Intellij Idea创建java项目,集成springmvc、mybatis、shiro等框架。

Intellij Idea java开发 springmvc mybatis shiro