java SpringCloud( 七): 高可用的分布式配置中心(Config)-b2b2c小程序电子商务
上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,了解springcloud架构可以加求求:三五三六二四七二
Java SpringCloud(六) 分布式配置中心(Spring Cloud Config-b2b2c小程序电子商务
在SpringCloud中,有分布式配置中心组件springcloudconfig,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。了解springcloud架构可以加求求:三五三六二四七二五九,在springcloudconfig组件中,分两个角色,一是configser
Java Springboot整合RabbitMQ(六):(RPC)-b2b2c小程序电子商务
在第二篇教程中我们介绍了如何使用工作队列(work queue)在多个工作者(woker)中间分发耗时的任务。可是如果我们需要将一个函数运行在远程计算机上并且等待从那儿获取结果时,该怎么办呢?这就是另外的故事了。这种模式通常被称为远程过程调用(Remote Procedure Call)或者 RPC。这篇教程中,我们会使用 RabbitMQ 来构建一个 RPC 系统:包含一个客户端和一个 RPC
Java Spring boot 整合RabbitMQ(五):主题(Topics)-B2B2C小程序电子商务
在我们的日志系统中,我们不只希望订阅基于严重程度的日志,同时还希望订阅基于发送来源的日志。Unix 工具 syslog 就是同时基于严重程度 -severity (info/warn/crit…) 和 设备 -facility (auth/cron/kern…) 来路由日志的。如果这样的话,将会给予我们非常大的灵活性,我们既可以监听来源于”cron” 的严重程度为”critical errors”
Java Springboot 整合RabbitMQ(四):路由(Routing)-B2B2C小程序电子商务
在本文中,我们将实现另一个功能 —— 只订阅一部分消息。例如,我们只需要把严重的错误日志信息写入日志文件(存储到磁盘),但同时仍然把所有的日志信息输出到控制台中绑定(Binding)在之前的例子中,我们已经创建了绑定。可以在我们的 Tut3Config 文件中回忆一下这样的代码:@Bean public Binding binding1(FanoutExchange 
Java Spring boot 整合RabbitMQ(三):(Publish/Subscribe)-B2B2C小程序电子商务
在本篇教程中,我们要做的跟之前完全不一样 —— 分发一个消息给多个消费者(consumers)。这种模式被称为” 发布 / 订阅”。交换器(Exchanges)在本教程的前面部分,我们发送和接收到队列中的消息,现在是时候在 RabbitMQ 中引入完整的消息传递模式了。让我们快速回顾一下之前了解的内容:生产者(producer):发送消息的程序队列(queue):存储消息的缓冲器消费者(consu
Java SpringCloud(五) 路由网关(zuul)(Finchley版本)-b2b2c小程序电子商务
一、Zuul简介Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到user服务,/api/shop转发到到shop服务。zuul默认和Ribbon结合实现了负载均衡的功能。zuul有以下功能:AuthenticationInsightsStressTest
Java SpringCloud(四)断路器(Hystrix)(Finchley版本)-b2b2c小程序电子商务
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在SpringCloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个
Java SpringCloud (三)服务消费者(Feign)-b2b2c小程序电子商务
Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,了解springcloud架构可以加求求:三五
Java Spring boot 整合RabbitMQ(二):工作队列(Work queues)-B2B2C小程序电子商务
现在,我们将发送一些字符串,把这些字符串当作复杂的任务。我们并没有一个真实的复杂任务,类似于图片大小被调整或 pdf 文件被渲染,所以我们通过 sleep () 方法来模拟这种情况。我们在字符串中加上点号(.)来表示任务的复杂程度,一个点(.)将会耗时 1 秒钟。比如 “Hello…” 就会耗时 3 秒钟。如果您尚未设置项目,请参阅第一个教程中的设置。我们将遵循与第一个教程相同的模式:创建一个包(
Java Spring Boot 整合RabbitMQ(一):Hello World -B2B2C小程序电子商务
Spring Boot 整合环境:RabbitMQ:3.7.4Spring Boot:2.0.1.RELEASE因为有 Starter POMs,在 Spring Boot 中整合 RabbitMQ 是一件非常容易的事,其中的 AMQP 模块就可以很好的支持 RabbitMQ。我们可以使用 Spring Intializr 或 https://start.spring.io/ 创建一个 Sprin
java Spring Cloud(二) 服务提供与调用 Eureka【Finchley 版】-b2b2c小程序电子商务
介绍了Eureka服务注册中心的搭建,这篇文章介绍一下如何使用Eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的Eureka单节点启动既可。流程如下:启动注册中心服务提供者生产服
java Spring Cloud (一)服务注册与发现 Eureka【Finchley 版】-b2b2c小程序电子商务
我们来一个个的实践一下,系列介绍的配置均基于SpringBoot2.0.1.RELEASE版本和SpringCloudFinchley.RC1版本服务注册中心SpringCloud已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。首先我们创建一个SpringBoot工程,名字就叫e
Springboot注解@ConfigurationProperties报错
注解报错:1.我们需要把jdbc.properties名称改为application.properties,这是SpringBoot默认读取的属性文件名2.prefix的值是否存在,是否是以‘jdbc’为前缀,例“jdbc.driverClassName=com.mysql.jdbc.Driver”3.@ConfigurationProperties是否出现在别的类中(这个我也不清楚原理,我在同一
SpringBoot的官方英文介绍(中文译本)
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.翻译:SpringBoot可以很简单的创建一个基于项目的单机版,生产环境水平的Spring框架,从而让你的项目运行的更快。We take an opinionated
Spring使用ComponentScan扫描Maven多模块工程的其它模块
在新建好了Maven多模块工程后,如果想要在其它模块也能使用Spring的对象管理,比如@Autowrited这些注入方式,那么就必须开启包扫描的功能才能使其进行注入到Spring的对象管理中。解决方法:1、在Spring中配置ComponentScan的扫描包范围,把要加入的的Module包路径添
.Java中如何创建进程
在Java中,可以通过两种方式来创建进程,总共涉及到5个主要的类。第一种方式是通过Runtime.exec()方法来创建一个进程,第二种方法是通过ProcessBuilder的start方法来创建进程。下面就来讲一讲这2种方式的区别和联系。首先要讲的是Process类,Process类是一个抽象类,
Java内部类详解--匿名内部类
匿名内部类 匿名内部类应该是平时我们编写代码时用得最多的,在编写事件监听的代码时使用匿名内部类不但方便,而且使代码更加容易维护。下面这段代码是一段Android事件监听代码:scan_bt.setOnClickListener(new OnClickListener() { &n
Java内部类详解--局部内部类
局部内部类 局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内。class People{ public People() {  
Java内部类详解-- 成员内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:class Circle { d