eureka

搭建eureka,gateway,admin,redis,docker系列一admin

拥有回忆 提交于 2020-03-26 19:34:03
spring cloud admin 简介 Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。Spring Boot Admin 提供了很多功能,如显示 name、id 和 version,显示在线状态,Loggers 的日志级别管理,Threads 线程管理,Environment 管理等。 创建一个空的module项目 添加pom依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId>

搭建eureka,gateway,admin,redis,docker系列一 eureka

房东的猫 提交于 2020-03-26 18:50:39
Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件 它主要包括两个组件:Eureka Server 和 Eureka Client Eureka Client:一个Java客户端,用于简化与 Eureka Server 的交互(通常就是微服务中的客户端和服务端) Eureka Server:提供服务注册和发现的能力(通常就是微服务中的注册中心) 搭建注册中心服务端(创建一个空的module) pox依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server<

Spring Cloud 持续更新中

送分小仙女□ 提交于 2020-03-25 23:32:56
内容 微服务概述 SpringCloud概述 Rest微服务构建案例工程模块 Eureka服务注册与发现 Ribbon负载均衡 Feign负载均衡 Hystrix断路器 zuul路由网关 Config分布式配置中心 Sleuth服务跟踪 Stream消息驱动 Bus消息代理的集群消息总线 常见问题 什么是微服务 微服务之间是如何独立通讯的 Spring Cloud和Dubbo有哪些区别 对SpringBoot和SpringCloud的理解 什么是服务熔断?什么是服务降级? 微服务的优缺点?项目开发中碰到的坑 你所知道的微服务技术栈有哪些 eureka和zookeeper都可以提供服务注册与发现的功能,两者的区别是什么? 一、微服务概述 https://www.martinfowler.com/articles/microservices.html 微服务与微服务架构 通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务在其独立的自己的进程中,服务之间互相协同、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API,dubbo是基于RPC的)。每个服务围绕着具体业务进行构建,并且能够被独立部署到生成环境、类生成环境等。另外,应尽量避免统一的、集中式的服务管理机制

java springcloud版b2b2c社交电商spring cloud分布式微服务 (七)高可用的分布式配置中心(Spring Cloud Config)

五迷三道 提交于 2020-03-25 13:38:28
3 月,跳不动了?>>> Springcloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六。讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下: 一、准备工作 继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中心。 在其pom.xml文件引入Eureka的起步依赖spring-cloud-starter-eureka-server,代码如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.forezp</groupId> <artifactId>eureka

Spring Cloud微服务架构从入门到会用(五)—服务网关鉴权

寵の児 提交于 2020-03-25 00:10:09
3 月,跳不动了?>>> 上一篇文章我们集成了服务网关Spring Cloud Gateway,所有的服务请求都可以通过Gateway访问。那我们就可在服务网关这一层对用户的请求进行鉴权,判断是否可以访问路由的API接口。 加下来我们开始增加鉴权,这里我们使用jwt 1. 创建授权服务module 按照第二篇文章创建一个module,起名为app-auth。 2. 修改service-auth的pom文件 <properties> <java.version>1.8</java.version> <spring-cloud.version>Hoxton.SR1</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>

spring cloud的理解

前提是你 提交于 2020-03-24 12:25:55
一、什么是spring cloud? spring cloud 可以认为是一种分布式服务的框架,它为开发人员提供了快速构建分布式系统的常用模式的一些工具,比如说配置管理、服务的注册与发现、服务调用的负载均衡、资源隔离、熔断降级等等,spring cloud为这些提供了一阵套完整的解决方案。 二、什么是分布式系统? 上面说spring cloud是一种分布式服务的框架,那么什么是分布式服务呢? 在谈什么是分布式系统之前,可以先回顾一下以前的那种所有的功能模块都放在一个服务里的那种系统,一个系统化几十万行代码,部署在单台机器上。一个比较大的系统,可能有十几个人协作开发,但是使用的都是同一套代码,大家功能开发完成过后,使用的都是同一套代码来发布生产上线。这样做有些什么问题呢? 代码耦合严重,维护很困难。大家使用的同一套代码,一旦一个人有需求需要修改公用代码,由于对其他人的业务逻辑不熟悉,很可能改了上线过后,会影响其他人的已经存在于线上的功能。另外数据也有可能是耦合在一起的,一个人修改了数据,然后并不知道别人对这个数据是有依赖的,最后一上线,就发现出问题了。系统不复杂还好,随着业务发展,功能增多,在原有的一个工程里面不断地增加代码,这对于后期的维护简直是一个灾难。 代码复用性问题。多个人协作开发,一个人之前写过这个功能的代码,但对另外一个人没有感知且需要依赖这个功能的代码

Spring Cloud微服务架构从入门到会用(四)—服务网关Spring Cloud Gateway

半世苍凉 提交于 2020-03-24 00:32:20
3 月,跳不动了?>>> 前两篇文章我们已经初步的完成了一个小型的微服务框架,有服务注册中心,有订单服务,也有库存服务;订单服务也能通过feign进行服务间调用库存服务。那本文我们将引入服务网关Spring Cloud Gateway。 Spring Cloud Gateway 旨在提供一种简单而有效的方法来路由到API。Spring Cloud Gateway是基于Spring Framework5,Spring Boot 2.0构建的。Spring Cloud Gateway是Spring开发并用来替代Zuul的。Spring Cloud Gate是基于Spring Framework5的WebFlux实现的。 Zuul和Spring Cloud Gateway的对比大家请参考这篇文章: https://www.cnblogs.com/yizhishi/archive/2019/09/26/11588860.html 接下来我们开始引入Spring Cloud Gateway。 1. 创建网关服务module 按照第二篇文章创建一个module,起名为server-gateway。 2. 修改pom文件,引入gateway <properties> <java.version>1.8</java.version> <spring-cloud.version>Hoxton.SR1

【少走弯路】 之 使用SpringCloud时网关zuul报504异常

蓝咒 提交于 2020-03-23 16:04:30
3 月,跳不动了?>>> 问题背景 还是上一篇说的大型商城项目,其中有短信验证功能点击发送验证码 问题描述 前台正常,后台zuul显示504异常,异常信息如下 com.netflix.zuul.exception.ZuulException: atorg.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter.findZuulException(SendErrorFilter.java:114) ~[spring-cloud-netflix-zuul-2.1.0.RELEASE.jar:2.1.0.RELEASE] 截图如下 问题导致 504错误代表网关超时,是指服务器作为网关或代理, 没有及时从上游服务器接收到请求正常情况下, 是由于被请求服务器发送超时引起。 问题解决 我们只需要在yml文件添加指定配置,即可解决 原yml文件 #端口号 server: port: 10010 #服务名 spring: application: name: cgzuul servlet: multipart: max-file-size: 2MB #上传文件的大小 #将网关服务添加到注册中心 eureka: client: fetch-registry: true register-with-eureka: true

微服务系列之 Feign 声明式服务调用

大城市里の小女人 提交于 2020-03-22 17:27:01
3 月,跳不动了?>>> 原文链接: https://mrhelloworld.com/posts/spring/spring-cloud/feign-declarative-service-call/    什么是 Feign      Feign 是 Spring Cloud Netflix 组件中的一个轻量级 RESTful 的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了 Ribbon 和 RestTemplate,实现了 WebService 的面向接口编程,进一步降低了项目的耦合度。   Feign 内置了 Ribbon,用来做客户端负载均衡调用服务注册中心的服务。   Feign 本身并不支持 Spring MVC 的注解,它有一套自己的注解,为了更方便的使用,Spring Cloud 孵化了 OpenFeign。   Feign 是一种声明式、模板化的 HTTP 客户端(仅在 Consumer 中使用)。   Feign 支持的注解和用法请参考官方文档: https://github.com/OpenFeign/feign 或 spring.io 官网文档   Feign 的使用方式是:使用 Feign 的注解定义接口,调用这个接口,就可以调用服务注册中心的服务。    Feign 解决什么问题      Feign 旨在使编写 JAVA

Spring Cloud微服务架构从入门到会用(三)—服务间调用Feign

你说的曾经没有我的故事 提交于 2020-03-22 11:24:18
3 月,跳不动了?>>> 微服务最重要的一个功能是服务间调用,各个服务互相依赖。比如电商系统有订单服务,有库存服务。在我们购买一件商品的时候,需要生成订单和减库存。这里我们就要用到服务间调用Feign。 Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。 接下来我们新建两个module,一个app-order,一个app-storage;app-order作为调用方,app-storage作为被调用方。使用mybatis-plus作为数据处理框架。使用lombok简化代码(idea需要按照lombok插件,否则会报错) 1. 创建app-storage 1.1 修改app-storage下的pom.xml文件 <properties> <java.version>1.8</java.version> <spring-cloud.version>Hoxton.SR1</spring-cloud.version> </properties> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <