springboot&cloud
琅琊山二当家
这个作者很懒,什么都没留下…
展开
-
Eureka、Zookeeper和Consul 的区别
主要区别的话,看CAP选择,大部分注册中心,就是在这个定理去选择的,具体怎么选择,看下文CAP定理:指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时)可用性(A):负载过大后,集群整体是否还能响应客户端的读写请求。(服务一直可用,而且是正常响应...转载 2020-10-28 15:49:52 · 385 阅读 · 0 评论 -
理解WEB API网关
转载: https://blog.csdn.net/vgwciro8nu/article/details/60106305隐藏细节现实生活中有很多隐藏细节的案例,比如我们平时用的电脑,当我们按电源按钮后电脑就自动开始启动了,对用户来讲很简单只需要知道按按钮就行。但电脑内部的工作原理其实是很复杂的一个流程,这里不多说。如果不隐藏细节会怎样?我想可能的结果就是电脑只能是特别特别的专业人员才能操作,永远...转载 2018-06-07 16:30:59 · 1379 阅读 · 0 评论 -
feign.FeignException: status 404 reading xxService#xxmethod(Integer)
spring cloud 项目在feign client 调用时候用到标题错误服务提供者 @RequestMapping(value="/getMessageqqtest",method= RequestMethod.POST) public String TestMessage2(Integer num) { return mrc.getMessage(num+2000...原创 2018-06-14 14:33:04 · 24508 阅读 · 6 评论 -
Spring Cloud Zuul实现动态路由
大致看看 ,看个思路即可转载:https://mp.weixin.qq.com/s/4d-epBiq5b69fZTCSkiOzAZuul 是Netflix 提供的一个开源组件,致力于在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。也有很多公司使用它来作为网关的重要组成部分,碰巧今年公司的架构组决定自研一个网关产品,集动态路由,动态权限,限流配额等功能为一体,为其他部门的项目提供统一的外网...转载 2018-06-19 17:11:05 · 1485 阅读 · 0 评论 -
zuul动态路由支持的路径格式及扩展性测试
ps:我们使用了动态路由,如果不是动态路由(使用静态文件的配置文件),也是符合本文的逻辑.一 对当前网关的路由解析的分析 跟踪代码发现zuul目前支持的路由解析策略对url的匹配的格式应该是/url/** ,其中**号不支持出现多次,1.class DiscoveryClientRouteLocator 2 class ZuulProperties@Da...原创 2018-06-20 13:58:48 · 1623 阅读 · 0 评论 -
Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣?
转载:https://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650076249&idx=1&sn=192e24af977446e2376b48256aecf6dd&chksm=bedb2f3789aca62199bd87464a33924814aa5cbe02d75c28f653ddcfc074b3250834...转载 2018-06-28 18:30:38 · 699 阅读 · 0 评论 -
分析验证zuul支持做外部网关
zuul 支持两种方式的路由分发优先级的话是url优先 如下图所示下面做一个测试我们已经做了数据库的动态路由配置 字段和zuulProperties类的字段是对应的可以看下图 serviceId和url同时使用 下面做一个测试 这个工程不连接eureka1直接访问工程:http://10.166.36.204:8093/hello2...原创 2018-07-06 17:49:05 · 2113 阅读 · 0 评论 -
Spring Cloud Gateway基于服务发现的默认路由规则
转载: http://www.springcloud.cn/view/256摘要:本篇文章主要介绍了Spring Cloud Gateway的基于服务发现的默认路由规则,从中可以看出Gateway的路由规则:http://Gateway_HOST:Gateway_PORT/大写的serviceId/* 和 zuul的默认路由规则http://ZUUL_HOST:ZUUL_PORT/微服务在Eu...转载 2018-08-07 17:09:13 · 7305 阅读 · 2 评论 -
Spring Boot 启动时执行加载资源/执行操作
转载: https://blog.csdn.net/u013360850/article/details/77672682SpringBoot 在启动的时候加载资源或者执行操作,进行初始化来执行特定操作,SpringBoot已经提供了这样的接口,通过实现该接口就可以实现需要的操作实现CommandLineRunner接口@Order(value=2)@Componentpub...转载 2018-08-23 15:02:37 · 663 阅读 · 0 评论 -
SpringBoot集成自定义HandlerMethodArgumentResolver
转载:https://www.cnblogs.com/yangzhilong/p/7605889.html 传统SpringMVC集成自定义HandlerMethodArgumentResolver的方式为:http://www.cnblogs.com/yangzhilong/p/6282218.html在SpringBoot中是去配置文件化的,具体做法有:1、启动类继承WebMv...转载 2018-08-21 17:33:18 · 573 阅读 · 0 评论 -
项目出现 java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
转载:https://www.cnblogs.com/lzhirong/p/8343161.html注入这个依赖<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version&...转载 2018-09-25 18:03:11 · 1556 阅读 · 0 评论 -
spring-cloud服务网关中的Timeout设置
转载:https://deanwangpro.com/2018/04/13/zuul-hytrix-ribbon-timeout/大家在初次使用spring-cloud的gateway的时候,肯定会被里面各种的Timeout搞得晕头转向。hytrix有设置,ribbon也有。我们一开始也是乱设一桶,Github上各种项目里也没几个设置正确的。对Timeout的研究源于一次log中的warnin...转载 2018-11-07 17:08:18 · 1377 阅读 · 0 评论 -
Spring Cloud各组件超时总结
转载:https://blog.csdn.net/qq_24267619/article/details/78653095Ribbon的超时全局设置:ribbon: ReadTimeout: 60000 ConnectTimeout: 60000局部设置:service-id: ribbon: ReadTimeout:1000 Conn...转载 2018-11-13 15:21:08 · 223 阅读 · 0 评论 -
spring cloud Feign请求响应启用压缩
转载: https://blog.csdn.net/nnsword/article/details/79523170 开启压缩可以有效节约网络资源,但是会增加CPU压力,建议把最小压缩的文档大小适度调大一点//开启压缩feign.compression.request.enabled=truefeign.compression.response.enabled=true//配置...转载 2018-11-14 16:42:16 · 1550 阅读 · 0 评论 -
Spring Cloud的分布式事务框架压测第一轮
转载:SpringCloud中国社区http://springcloud.cn/view/374 前言分布式事务对微服务开发者而言是既想努力避免又无法完全回避的蛋疼问题。通过使用分布式事务处理框架可以很大程度上解决分布式事务所带来的事务性能、可靠性问题,以及引入的编码复杂性。本文由海信HICS技术团队压测提供,目前国内主要的开源分布式事务框架框架包括:框架名称 Git...转载 2018-11-20 09:46:19 · 794 阅读 · 0 评论 -
springboot使用加密的配置属性
依赖:<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>1.16</version></de...原创 2019-03-25 17:41:06 · 1545 阅读 · 0 评论 -
SpringBoot中获取spring.profiles.active的值
转载:https://www.cnblogs.com/linzhanfly/p/9056722.html一、网上很多采用@Profile("dev")的方式获取,但是这个是类级别的二、开发中可能需要代码级别1、刚开始我想通过classpath下的文件读取方式,麻烦死了,于是换了个思路。2、SpringBoot启动日志中有下面这句: 1 15:57:5...转载 2019-04-10 17:53:55 · 6469 阅读 · 0 评论 -
SpringCloud源码解析(2)--ApplicationContextInitializer配置与原理
来源:https://www.jianshu.com/p/0229dd853d77前言上文粗略的看了springboot启动相关的源码,这次我们来看SpringApplication构造方法中初始化的ApplicationContextInitializer的作用ApplicationContextInitializer主要用于在spring创建上下文之前调用prepareContext...转载 2019-07-05 18:18:14 · 423 阅读 · 0 评论 -
Spring Cloud 异常处理
转载 : https://www.cnblogs.com/yish/p/5850813.html一开始我想着是在Feign的ErrorDecoder上做自定义的异常处理,来实现根据http code抛出各种异常。但是Feign与Hystrix结合之后,发现一个问题,只要服务调用抛出了Throwable类就会触发Hystrix的fallback(前提是配置了fallback)。想来想去都没有想到怎么...转载 2018-03-27 20:08:59 · 1529 阅读 · 0 评论 -
loadrunner通过注册中心 网关压测spring cloud应用
初始情况 :3个注册中心 3个网关路由zuul , 3个服务提供者测试服务提供者接口: 测试服务提供者接口 10.166.10.117:8085/testGetTPS?param=1备注(重要)loadrunner 如何压测集群情形110.166.10.117可以是个服务调用者,他存在于和当前eureka 和zuul当前集群,loadrunner通过调用服务调用者117(117通过feigncli...原创 2018-03-20 17:24:00 · 846 阅读 · 0 评论 -
Spring Boot配置的第一个应用(如何启动)
8月24日的文章“全栈工程师移动开发实践━Restful与Spring Boot详解”中,我向大家介绍了Spring Boot的maven配置,今天我们来看看Spring Boot的第一个应用,也即一门语言的标配--Hello World的实现,也是为我们之后的app与server之间交互打下基础。1.首先在配置好Spring Boot依赖的工程中,新建一个java类,如下,命名为Restf...转载 2017-07-31 22:46:46 · 10509 阅读 · 0 评论 -
构建微服务:Spring boot 入门篇
构建微服务:Spring boot 入门篇 什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有转载 2017-07-31 23:31:20 · 331 阅读 · 0 评论 -
spring boot 自学笔记(三) Redis集成—RedisTemplate
spring boot 基于Spring, Redis集成与Spring大同小异。文章示例代码均以前篇笔记为基础增加修改,直接上代码:pom.xml Redis相关依赖:[html] view plain copyxml version="1.0" encoding="UTF-8"?> project xmlns="转载 2017-08-01 00:09:36 · 591 阅读 · 0 评论 -
This application has no explicit mapping for /error, so you are seeing this as a fallback
I added this dependency and it solved my problem.<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId&g...原创 2017-08-10 17:42:23 · 9155 阅读 · 1 评论 -
springcloud(三):服务提供与调用
上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。案例中有三个角色:服务注册中心、服务提供者、服务消费者,其中服务注册中心就是我们上一篇的eureka单机版启动既可,流程是首先启动注册中心,服务提供者生产服务并注册到服务中心中,消费者从服务中心中获取服务并执行。转载 2017-08-19 12:56:00 · 294 阅读 · 0 评论 -
springCloud微服务使用
springCloud微服务使用一.微服务简介1.演变过程:单体架构、SOA、微服务2.单体架构:一个应用包含了应用之间所有的功能程序,通过打成war包的方式发布部署。缺点:复杂性逐渐偏高、技术债务逐渐变慢、阻碍技术的创新扩展、无法按需求伸缩3.SOA:面向服务的架构,是一个组件的架构模型,它将应用程序之间不同的功能单点通过服务之间的良好接口进行关联,接口采转载 2017-08-19 15:57:45 · 503 阅读 · 0 评论 -
Springboot 之 自定义配置文件及读取配置文件
读取核心配置文件核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。核心配置文件application.properties内容如下:server.port=9090test.msg=Hello World Springboot!123123转载 2017-08-14 19:35:05 · 445 阅读 · 0 评论 -
spring-boot启动报错【This application has no explicit mapping for /error.....】
从spring-boot官网上看的例子,自己试着写了一个 返回name和id的小接口,一开始访问http://localhost:8080/getPerson 报错 :Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this a转载 2017-08-07 14:13:16 · 3772 阅读 · 0 评论 -
Cannot determine embedded database driver class for database type NONE
不连接数据库启动springboot会出现:[plain] view plain copyCannot determine embedded database driver class for database type NONE 原因是:springboot启动时会自动注入数据源和配置jpa解决:在@SpringBootA转载 2017-09-05 18:00:53 · 593 阅读 · 0 评论 -
为Spring Cloud Ribbon/Zuul配置请求重试
来源 :http://www.jianshu.com/p/5246ca996360以下配置基于spring boot版本1.4.5.RELEASE,spring cloud版本采用Camden.SR6。工程环境如下:Paste_Image.png可以看到,compute-service服务包含了两个实例,实例1的端口号为2221、实例2的端口号2222。转载 2017-09-06 18:23:37 · 1070 阅读 · 0 评论 -
jvm 调优的总结 查看应用的JVM实时情况
springboot 项目启动参数java -Xms12g -Xmx12g -Xmn5g -Xss256k -XX:+UseG1GC -XX:ParallelGCThreads=20 -XX:InitiatingHeapOccupancyPercent=75 -server -jar /app/zuul/horus-zuul-server_20171017.jar&Xmn 5G 新时代配置原创 2017-10-23 13:50:42 · 1530 阅读 · 0 评论 -
深入理解Ribbon之源码解析
深入理解Ribbon之源码解析转载请标明出处:blog.csdn.net/forezp/arti…本文出自方志朋的博客什么是RibbonRibbon是Netflix公司开源的一个负载均衡的项目,它属于上述的第二种,是一个客户端负载均衡器,运行在客户端上。它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为。 Feign已经默认使用了R转载 2017-10-20 16:51:15 · 354 阅读 · 0 评论 -
一次性能优化,tps从400+到4k+
项目介绍路由网关项目watchman ,接收前端http请求转发到后端业务系统,功能安全验证,限流,转发。使用技术:spring boot+ nreflix zuul,最开始日志使用slf4j+log4j部署方式打成jar包,内部使用的是tomcat容器,设置线程数600。工作原理先介绍下zuul的工作原理,看图zuul中定义了四种filter分别是1.pr转载 2017-10-23 14:21:14 · 4687 阅读 · 1 评论 -
spring boot admin + spring boot actuator + erueka 微服务监控
简单的spring boot actuator 使用,点击这里 spring boot admin 最新的正式版本是1.5.3 与 springboot 或者spring cloud 新版本不兼容 ,希望大家不要踩坑.新版的 spring-cloud-netflix-core 1.3.4 移除了一个zuul的自动配置类,spring boot admin 1.5.0刚好转载 2017-11-16 17:58:32 · 634 阅读 · 0 评论 -
springboot 打war包去掉项目前缀会 启动两次解决
springboot项目打成war包 去掉前缀放置在tomcat webapps下面,启动的时候会加载两次,可以通过修改tomcat的默认启动路径1. tomcat 去掉前缀 的方法 server.xml里面host节点增加 蓝色部分 <Host name="localhost" appBase="webapp" unpackWARs="true...原创 2017-11-27 14:19:19 · 6148 阅读 · 0 评论 -
Feign真正正确的使用方法--供老项目调用
Feign是spring cloud中服务消费端的调用框架,通常与ribbon,hystrix等组合使用。但是在某些项目中,由于遗留原因,整个系统并不是spring cloud项目,甚至不是spring项目,而使用者关注的重点仅仅是简化http调用代码的编写。如果采用httpclient或者okhttp这样相对较重的框架,对初学者来说编码量与学习曲线都会是一个挑战,而使用spring中Rest转载 2018-01-11 10:08:31 · 9713 阅读 · 0 评论 -
ribbon重试多个微服务的配置
对应当前应用 properties文件添加要重试的微服务的节点 zuul也要加进去有多少要重试的服务 都配置一下。可以考虑做一个从class批量处理下 有空看下源码 TODO 1. 关于3个zuul断掉2个zuul,然后访问服务提供方接口出现部分失败的问题是因为在调用方没有加入对zuul的重试配置.spring.cloud.loadbalancer.retry...原创 2018-03-14 13:27:30 · 4846 阅读 · 0 评论 -
Spring Boot中使用@Async实现异步调用
什么是“异步调用”?“异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。同步调用下面通过一个简单示例来直观的理解什么是同步调用:定义Task类,创建三个处理函数分别模拟三个执行任务的操作,操作消耗时间随机取(10秒内)转载 2017-08-07 18:22:52 · 362 阅读 · 0 评论