spring-cloud
文章平均质量分 78
spring-cloud
牧竹子
且行且珍惜
展开
-
SpringBoot 项目 Jar 包加密,防止反编译
在单模块中此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。那么使用此方案就比较麻烦,配置复杂,文档难懂,各模块之间的调用在是否混淆时极其容易出错。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。只需要在启动类的pom.xml文件中加如下插件即可,需要注意的是,改插件时要放到spring-boot-maven-plugin插件后面,否则不起作用。启动包加密之后,方法体被清空,保留方法参数、注解等信息.主要兼容swagger文档注解扫描。原创 2024-09-13 16:47:01 · 863 阅读 · 0 评论 -
Nacos 安装部署
下载和基本配置sql信息从nacos官网 https://nacos.io/zh-cn/index.html 下载安装包1.创建数据库nacos,并设置字符集utf82.执行/nacos/conf/nacos-mysql.sql中的语句,创建表,并插入数据3.修改/nacos/conf/application.properties文件,如下spring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://localhost:3306/n原创 2021-08-11 16:08:03 · 15247 阅读 · 1 评论 -
Feign动态设置header
背景需求springmvc 可以直接通过拦截器Interceptor和过滤器filter拦截请求头header,从而获取必要的验证信息作为我们业务逻辑服务。比如权限验证,多租户的权限范围等等。但是在springcloud中微服务的调用其实最终也是远程调用了http,那么能不能在客户端调用的时候发给服务端的header中添加自定义的信息呢,比如业务线ID或者auhtor信息等等进而和springmvc的业务逻辑部分统一避免额外的代码实现。Feign设置header目前有两种方式1.实现拦截器Reque原创 2021-06-16 17:41:30 · 5001 阅读 · 0 评论 -
多环境配置redission
背景了解参考阅读版本redisson-spring-boot-starter-3.13.6RedissonAutoConfiguration初始化源码解析https://blog.csdn.net/lizz861109/article/details/109289430redisson-spring-boot-starter-3.13.6版本之前的老版本是只有config方式,此版本开始增加了file配置方式@ConfigurationProperties( prefix = "spri原创 2021-05-12 11:26:08 · 2171 阅读 · 0 评论 -
分布式定时任务解决方案
分布式定时任务解决方案一、背景服务有定时任务,当服务部署到多个节点时,每个节点在同一个时间点都会执行相同的定时任务,需要做的是,让同一个时间点,每一个定时任务只在一个节点上执行,避免重复执行。二、 解决方案思路单独设置任务调度服务使用Redis实现使用XXL-JOB实现使用Elastic-Job框架实现使用LTS框架实现三、方案3.1 方案一:单独设置任务调度服务任务调度...转载 2019-11-06 21:53:55 · 7494 阅读 · 3 评论 -
Spring Cloud Gateway的路由,过滤器和限流
Spring 官方最终还是按捺不住推出了自己的网关组件:Spring Cloud Gateway ,相比之前我们使用的 Zuul(1.x) 它有哪些优势呢?Zuul(1.x) 基于 Servlet,使用阻塞 API,它不支持任何长连接,如 WebSockets,Spring Cloud Gateway 使用非阻塞 API,支持 WebSockets,支持限流等新特性。Spring Cloud G...原创 2019-10-26 23:53:43 · 2502 阅读 · 0 评论 -
服务追踪Zipkin+Spring Cloud Sleuth
为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样的,从而达...原创 2019-07-26 16:02:07 · 1245 阅读 · 0 评论 -
当前主流服务注册中心对比
当前主流服务注册中心对比原创 2019-04-25 11:45:34 · 5144 阅读 · 0 评论 -
SpringCloud第一篇-Eureka:服务的注册与发现-单机和集群模式
spring cloud概述中国社区:https://springcloud.cc/服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon客服端方便REST服务调用组件——Netflix Feign(包含了Ribbon)断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud Conf...原创 2017-10-19 21:22:22 · 1440 阅读 · 0 评论 -
SpringCloud第五篇-Hystrix Dashboard
Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hy原创 2017-10-23 22:52:19 · 738 阅读 · 0 评论 -
SpringCloud第四篇-Hystrix
Hystrix简介 Netflix has created a library called Hystrix that implements the circuit breaker pattern. In a microservice architecture it is common to have multiple layers of service calls. —-摘自官网hy原创 2017-10-21 21:16:34 · 398 阅读 · 0 评论 -
SpringCloud第九篇-服务注册(consul)
简介 Consul是强一致性的数据存储,使用gossip形成动态集群。它提供分级键/值存储方式,不仅可以存储数据,而且可以用于注册器件事各种任务,从发送数据改变通知到运行健康检查和自定义命令,具体如何取决于它们的输出。下面两张图是Consul的原理图和其他服务注册对比FeatureConsulzookeeperetcdeuerka服务健康检查服务状态,内存,硬盘等(弱)长连接,keepaliv原创 2017-11-22 22:00:37 · 4720 阅读 · 4 评论 -
SpringCloud第七篇-Spring Cloud Config
简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config client。原创 2017-10-25 22:31:06 · 301 阅读 · 0 评论 -
SpringCloud第六篇-Zuul
Zuul简介Zuul可以通过加载动态过滤机制,从而实现以下各项功能:验证与安全保障: 识别面向各类资源的验证要求并拒绝那些与要求不符的请求。审查与监控: 在边缘位置追踪有意义数据及统计结果,从而为我们带来准确的生产状态结论。动态路由: 以动态方式根据需要将请求路由至不同后端集群处。压力测试: 逐渐增加指向集群的负载流量,从而计算性能水平。负载分配: 为每一种负载类型分配对应容量,并弃用超出原创 2017-10-24 23:06:53 · 1223 阅读 · 0 评论 -
SpringCloud第二篇-Ribbon:
Ribbon简介Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随即连接等)去连接这些机器。我们也很容易使用Ribbon实现自原创 2017-10-20 15:01:33 · 491 阅读 · 0 评论 -
SpringCloud第三篇-Feign
Feign简介Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集原创 2017-10-21 19:24:58 · 274 阅读 · 0 评论 -
SpringCloud第八篇-Spring Cloud Config-此篇作废
概述上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:项目准备config-eureka-server:eureka-server拷贝之前的工程命名为config-eureka-server,用作服务注册中心,端口修改为8889config-s原创 2017-10-26 20:08:49 · 3097 阅读 · 6 评论