前言 最近项目中需要用feign调用cloud微服务实现文件上传,但是FeignClient调用接口时不支持上传文件; 本项目采用Feign-form扩展库进行实现文件上传,期间也遇到了很多问题,在这里就和大家分享一下遇到的问题和解决办法。 以下是我感觉比较实用的一些博客,我虽然没有全部遇到博主们说 ...
分类:
编程语言 时间:
2019-06-29 18:59:25
阅读次数:
124
spring boot cloud module spring boot+spring cloud+maven module 一个 maven多模块的微服务架构模版。 新手上路的绝佳模版,只有必要的配置文件和核心jar包,没有多余的其他增量配置,所有的配置和注解都有做解释的注解描述,方便新手一眼就懂 ...
分类:
编程语言 时间:
2019-06-29 16:24:30
阅读次数:
132
通常我们如果有一个服务,会部署到多台服务器上,这些微服务如果都暴露给客户,是非常难以管理的,我们系统需要有一个唯一的出口,API网关是一个服务,是系统的唯一出口。API网关封装了系统内部的微服务,为客户端提供一个定制的API。客户端只需要调用网关接口,就可以调用到实际的微服务,实际的服务对客户不可见... ...
分类:
编程语言 时间:
2019-06-29 13:09:37
阅读次数:
1700
简介 在微服务架构下存在多个服务之间的相互调用,当某个请求变慢或不可用时,我们如何快速定位服务故障点呢?链路追踪的实现就是为了解决这一问题,本文采用Sleuth+Zipkin+RabbitMQ+ES+Kibana实现。 Spring Cloud Sleuth Trace:从客户端请求到系统边界,再到 ...
分类:
编程语言 时间:
2019-06-29 12:46:47
阅读次数:
345
一、先来搭建一个 Eureka Server 作为注册中心1.引入依赖<!--添加eureka服务端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netfl ...
分类:
编程语言 时间:
2019-06-29 12:33:51
阅读次数:
124
在上篇文章中我们给大家介绍了Stream的消息分组,可以实现消息的重复消费的问题,但在某些场景下分组还不能满足我们的需求,比如,同时有多条同一个用户的数据,发送过来,我们需要根据用户统计,但是消息被分散到了不同的集群节点上了,这时我们就可以考虑 消息分区 了。 & ...
分类:
编程语言 时间:
2019-06-28 22:45:55
阅读次数:
221
上篇文章我们简单的介绍了stream的使用,发现使用还是蛮方便的,但是在上个案例中,如果有多个消息接收者,那么消息生产者发送的消息会被多个消费者都接收到,这种情况在某些实际场景下是有很大问题的,比如在如下场景中,订单系统我们做集群部署,都会从RabbitMQ中获取订单信息,那 ...
分类:
编程语言 时间:
2019-06-28 21:09:39
阅读次数:
127
案例代码:https://github.com/q279583842q/springcloud e book 在实际开发过程中,服务与服务之间通信经常会使用到消息中间件,而以往使用了哪个中间件比如RabbitMQ,那么该中间件和系统的耦合性就会非常高,如果我们要替换为Kafk ...
分类:
编程语言 时间:
2019-06-28 18:16:37
阅读次数:
132
Eureka的架构图及描述 1.服务注册(register): Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址、端口、运行状况指标的url、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信 ...
分类:
编程语言 时间:
2019-06-28 11:46:39
阅读次数:
126
一、微服务概述 1. 什么是微服务 简单地说, 微服务是系统架构上的一种设计风格, 它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间基于 RPC 进行通信协作。 被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构 ...
分类:
编程语言 时间:
2019-06-27 23:13:01
阅读次数:
273