eureka

【Spring Cloud】Spring Cloud使用总结

北城余情 提交于 2020-04-28 06:59:29
##项目概要 项目环境信息 IDEA ultimate 2018.3.2 springboot 2.1.7.RELEASE springCloud Greenwich.SR2 ###Eureka 介绍 基于netflix eureka做了二次封装 两个组件组成: Eureka Server 注册中心 Eureka Client 服务注册 搭建Eureka Server 1、配置Eureka 的application.yml eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ #默认为true,是否向自己注册自己 register-with-eureka: false #关闭Eureka自我保护(生产环境要设置为true,测试环境设置为false) server: enable-self-preservation: false #配置服务实例名 spring: application: name: spring-cloud-eureka #配置服务实例端口 server: port: 8761 注意:如果报错读取application.yml文件错误,检查Settings->File Encodings,全部设置为UTF-8 2、配置Eureka pom.xml <?xml version="1

Spring Boot(二十):使用 spring-boot-admin 对 Spring Boot 服务进行监控

这一生的挚爱 提交于 2020-04-27 20:47:04
上一篇文章 《Spring Boot(十九):使用 Spring Boot Actuator 监控应用》 介绍了 Spring Boot Actuator 的使用,Spring Boot Actuator 提供了对单个 Spring Boot 的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了 Spring Boot 应用的整个生命周期。 但是这样监控也有一些问题:第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的 Json 信息不方便运营人员理解;第二,如果 Spring Boot 应用集群非常大,每个应用都需要调用不同的接口来查看监控信息,操作非常繁琐低效。在这样的背景下,就诞生了另外一个开源软件: Spring Boot Admin 。 什么是 Spring Boot Admin? Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源软件。每个应用都认为是一个客户端,通过 HTTP 或者使用 Eureka 注册到 admin server 中进行展示,Spring Boot Admin UI 部分使用 VueJs 将数据展示在前端。 这篇文章给大家介绍如何使用 Spring Boot Admin 对 Spring Boot 应用进行监控。 监控单体应用 这节给大家展示如何使用

SpringCloud系列-利用Feign实现声明式服务调用

痴心易碎 提交于 2020-04-26 19:00:37
上一篇文章 《手把手带你利用Ribbon实现客户端的负载均衡》 介绍了消费者通过Ribbon调用服务实现负载均衡的过程,里面所需要的参数需要在请求的URL中进行拼接,但是参数太多会导致拼接字符串的效率低下,本文将介绍一种更好的方案,利用Feign实现声明式服务调用。 本文目录 一、Feign简介 二、搭建注册中心 三、服务提供者 四、Feign服务消费者 五、服务调用实战 一、Feign简介 Feign是一个声明式的Web Service客户端,它的目的就是让Web Service调用更加简单。 Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息,而Feign则会完全代理HTTP请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。 总起来说,Feign具有如下特性: 可插拔的注解支持,包括Feign注解和JAX-RS注解; 支持可插拔的HTTP编码器和解码器; 支持Hystrix和它的Fallback; 支持Ribbon的负载均衡; 支持HTTP请求和响应的压缩。 二、搭建注册中心 首先新建一个SpringBoot项目,命名spring-cloud-eureka,然后按照下面步骤编写代码即可。 pom.xml代码 添加eureka-server的依赖,代码如下: < dependencies > <

springcloud 项目源码 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离

℡╲_俬逩灬. 提交于 2020-04-26 14:01:33
1.代码生成器: [正反双向](单表、主表、明细表、树形表,快速开发利器) freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块 2.多数据源: (支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源 3. 阿里数据库连接池 druid ,安全权限框架 shiro( 菜单权限和按钮权限 ) , 缓存框架 ehcache 4. 代码编辑器, 在线模版编辑,仿开发工具编辑器 5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节 6.websocket 及时站内信并声音提醒、实时在线管理、websocket及时刷新页面(完胜ajax技术) 7.redis存储分布式缓存 自windows redis 绿色版,方便开发者本地开发测试 ----------------------------------------------------------------------------------------------------------------- 服务介绍 ( 各个服务单独运行,高可用、低耦合 ) 一:springcloud服务 ---------------------------------------------------------------------------------

seata demo之springcloud-eureka-feign-mybatis-seata

南笙酒味 提交于 2020-04-25 17:01:57
说明 这篇文章主要将seata 提供的demo中 seata-samples\springcloud-eureka-feign-mybatis-seata项目运行起来 seata 一个高性能的分布式事务解决方案,易于和微服务架构整合 github https://github.com/seata/seata 中文wiki https://github.com/seata/seata/wiki/Home_Chinese seata-server运行 下载 https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.zip https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.tar.gz seata-server搭建可以参考别人的这篇博客 https://www.cnblogs.com/wintersoft/p/10548177.html seata-server建表SQL seata-server-0.9.0\seata\conf\db_store.sql seata-server-0.9.0\seata\conf\db_undo_log.sql 修改数据库名 账号密码 seata-server-0

spring cloud中feign的使用

∥☆過路亽.° 提交于 2020-04-25 13:32:52
背景 最近在写中台,就是各功能板块各司其职,最后根据需要整合在一起搭建成一个完整的系统,有了解的小伙伴都知道,这里用的其实就是微服务。 过程中,各工程模块之间有大量的相互连接调用的部分。这种场景最早的做法是借用代理实现,后来Spring Cloud 封装了一个Spring Cloud Rbbon,可以利用RestTemplate 的请求拦截来实现对依赖服务的接口调用。项目中对服务依赖的调用往往会有多处,所以通常会针对各个微服务自行封装一些客户端来包装这些依赖服务的调用,故几乎每一个调用都是简单的模块化内容。 而Spring Cloud Feign 做了进一步的封装,在Fegin的基础上,我们只需要创建一个接口并使用 @FeignClient 注解来配置,即可完成对服务提供方的接口绑定,简化了使用 Spring Cloud Ribbon 时自行封装服务调用客户端的开发量。 Fegin使用 1、准备 1)启动 Eureka服务注册中心; 2)创建两个微服务A(服务提供者)、B(服务消费者); 3) A服务的 application.name = "A-service", B 服务 application.name = "B-service"; 4)A 服务提供服务接口 A1,B 服务的 B1 功能模块中调需要用 A1; 5)在 A、B 服务的 application.yml 文件中加入

spring cloud 学习之服务消费者(Feign)

大城市里の小女人 提交于 2020-04-25 13:31:27
一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。 简而言之: Feign 采用的是基于接口的注解 Feign 整合了ribbon,具有负载均衡的能力 整合了Hystrix,具有熔断的能力 二、准备工作 继续用上一节的工程, 启动eureka-server,端口为8761; 启动service-hi 两次,端口分别为8762 、8773. 三、创建一个feign的服务   创建feign服务后,配置文件的配置 eureka: client: serviceUrl: defaultZone: http: // localhost:8761/eureka/ server: port: 8765 spring: application: name: service -feign 在程序的启动类ServiceFeignApplication ,加上 @EnableFeignClient s注解开启Feign的功能: @SpringBootApplication @EnableEurekaClient

spring-cloud-feign负载均衡组件

只愿长相守 提交于 2020-04-25 13:30:40
Feign简介:   Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便.它具有可插拔注释支持,包括Feign注解和JAX-RS注解、Feign还支持可插拔编码器和解码器、Spring Cloud增加了对Spring MVC注释的支持,并HttpMessageConverters在Spring Web中使用了默认使用的相同方式。Spring Cloud集成了Ribbon和Eureka,在使用Feign时提供负载平衡的http客户端。Fegin对Robbin进行了封装,如果需要配置自己的负载算法,可以自定义Ribbon的算法即可 1.pom文件修改 <properties> <project.build.sourceEncoding>UTF- 8 </project.build.sourceEncoding> <project.reporting.outputEncoding>UTF- 8 </project.reporting.outputEncoding> <java.version> 1.8 </java.version> <spring-cloud.version>Finchley.SR3</spring-cloud.version> </properties> <dependencyManagement> <dependencies

12、SpringCloud第十二章,升级篇,分布式链路跟踪Sleuth

吃可爱长大的小学妹 提交于 2020-04-25 13:17:30
SpringCloud第十一章,升级篇,分布式链路跟踪Sleuth 一、分布式链路概述 1、为什么 随着分布式系统越来越复杂,你的一个请求发过发过去,各个微服务之间的跳转,有可能某个请求某一天压力太大了, 一个请求过去没响应,一个请求下去依赖了三四个服务,但是你去不知道哪一个服务出来问题, 这时候我是不是需要对微服务进行追踪呀?监控一个请求的发起,从服务之间传递之间的过程, 我最好记录一下,记录每一个的耗时多久,一旦出了问题,我们就可以针对性的进行优化, 是要增加节点,减轻压力,还是服务继续拆分,让逻辑更加简单点呢? 这时候springcloud-sleuth集成zipkin能帮我们解决这些服务追踪问题。 2、是什么 SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin. SpringCloud从F版起已不需要自己构建Zipkin server了,只需要调用jar包即可 3、相关概念 1、Span: 基本工作单元.例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识, span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID. span在不断的启动和停止,同时记录了时间信息,当你创建了一个span,

5、Spring-Cloud-声明式调用 Feign(上)

廉价感情. 提交于 2020-04-25 08:29:52
5.1、写一个 Feign 害户端 新建项目: 依赖: <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> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.boot<