- 博客(11)
- 收藏
- 关注
原创 解决FeignException返回基础服务抛出的状态码
接上篇文章这样,虽然能够很好的处理@Valid出现的异常,但是如果是主动抛出的自定义异常和Assert断言异常,则会进入FeignException.errorStatus处理,查看源码它将message封装了feign抛出的status500以及body的content(即你主动抛出的message信息)意味着,断言异常我们可以通过ErrorDecoder的方式再通过全局异常拦截获取messag...
2018-04-24 15:50:20 29786 12
原创 Feign调用微服务异常配合Hystrix的正确处理方式
这是本人在项目中总结出来的基础服务异常的处理方式,同时也借鉴了其他博客大神的内容整理出来的前提项目中全局禁用了feign的hystirxfeign: hystrix: enabled: false 意味着,当基础服务出现异常无法通过feign的fallback配置类降级,这里研究服务熔断的方式在方法场景所期望的:1.基础服务能主动抛出自定义异常,同时不触发熔断,把异常信息返给调用者2....
2018-04-23 21:25:55 19153 2
原创 记一次递归本次磁盘图片上传至阿里云并存入数据库(回顾下基础)
String endpoint = "xxx"; String accessKeyId = "xxx"; String accessKeySecret = "xxx"; OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); File...
2018-04-12 17:50:46 219
原创 Docker部署eureka-server
环境安装1.JDKyum -y install java-1.8.0-openjdk*配置环境变量打开 vim /etc/profile添加一下内容export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 export PATH=$PATH:$JAVA_HOME/bin修改完后使之生效source ...
2018-04-10 15:55:02 6162
原创 JAVA高并发从内存分析数据不一致的原因
并发: 多线个线程操作相同的资源,保证线程安全,合理使用资源高并发: 服务能短时间同时处理很多请求,提高程序性能以下代码,通过对共享变量进行累加操作,模拟200个线程,客户端500个请求 private static int threadTotal = 200; private static int clientTotal = 500; private static lon...
2018-04-09 22:23:46 1208
原创 微服务通过Feign调用进行密码安全认证
在项目中,微服务之间的通信也是通过Feign代理的HTTP客户端通信,为了保护我们的业务微服务不被其他非法未经允许的服务调用, 我们要进行访问授权配置!Feign是客户端配置,@FeignClient注解有个configuation属性,可以配置我们自定义的配置类,在此类中注入微服务认证拦截器 /** * 访问微服务需要密码 * @return */ @Be...
2018-04-08 20:39:14 13691
原创 自定义Feign配置
在springcloud中,Feign的默认配置类是FeignClientsConfiguration,该类定义了Feign默认使用的编码器、解码器、所使用的契约(默认支持SpringMVC注解)等,如果想使用Feign自带的注解@RequestLine工作,则需要在@FeignClient的configuration属性自定义feign的配置类, /** * 将契约改为feign原生的...
2018-04-07 20:52:03 847
转载 Eureka控制台快速查看swagger文档
在服务比较多的情况下,突然想看某个服务的API 文档虽然外面使用了Swagger来进行API的管理,但是还是得找到对应的服务,然后访问Swagger的管理页面才行。为了方便查询文档,把这个功能集成到Eureka中,这样就很方便了默认的Instances也是有链接跳转的,外面需要把这个跳转改成Swagger的管理页面这样直接点击open-microservice:192.168.1.107:8121...
2018-04-06 20:16:22 1591
原创 docker安装gitlab
查看docker端口占用fuser -v -n tcp 22 杀死端口kill -s 9 pid ---上面可能会用到下载gitlabsudo docker pull gitlab/gitlab-ce:latest 启动gitlabsudo docker run -d \--restart=always \-p 7080:80 \-p 2222:22 \-p 8443:443 \--na...
2018-04-03 21:47:43 674
转载 阿里云Centos7.4安装docker
1.移除旧版本软件包sudo yum -y remove docker2.安装yum-utils,这样就能使用yum-config-manager工具设置yum源sudo yum install -y yum-utils3.执行以下命令,添加Docker的yum源sudo yum-config-manager \> --add-repo \> https://docs.docker...
2018-04-03 20:03:00 284
原创 Docker安装rabbitMQ
1.获取镜像docker pull rabbitmq:3.6-management2.docker images查看镜像3.运行镜像,生成容器#启动rabbitmq服务,默认用户名为:xxx,密码:xxx 限制内存大小为1024MBdocker run -d --restart=always --name rabbitmq -e RABBITMQ_DEFAULT_USER...
2018-04-03 15:50:43 841
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人