1、简介 spring boot项目启动时可以配置一些参数,我们可以通过实现ApplicationRunner或CommandLineRunner接口,并重写run方法来获取这些配置,如果项目内定义了多个类实现了这两个类的话,通过@Order注解来指定他们的执行顺序。 spring boot项目可以在启动的时候指定项目运行参数,eg: java -jar --user=wenyl 2、ApplicationRunner 2.1、源码解析 ApplicationRunner的run方法参数是ApplicationArguments,内部共有五个方法 public interface ApplicationArguments { String[] getSourceArgs(); Set<String> getOptionNames(); boolean containsOption(String name); List<String> getOptionValues(String name); List<String> getNonOptionArgs.... 有更新! spring boot读取项目参数配置 程序人生
1、拉取镜像 docker pull rocketmqinc/rocketmq 2、启动mqnamesrv docker run -d --name=rmqnamesrv -p 9876:9876 -v D:\download\docker\rocketmq\nameserver\logs:/root/logs -v D:\download\docker\rocketmq\nameserver\store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv 3、启动broker 新建配置文件broker.cnf # 所属集群名称,如果节点较多可以配置多个 brokerClusterName = DefaultCluster #broker名称,master和slave使用相同的名称,表明他们的主从关系 brokerName = broker-a #0表示Master,大于0表示不同的slave brokerId = 0 #表示几点做消息删除动作,默认是凌晨4点 deleteWh.... docker安装rocketmq 程序人生
1、简介 spring cloud的负载均衡由ribbon组件实现,ribbon是NetFlix发布的客户端负载均衡器。 2、ribbon负载均衡规则 ribbon负载均衡策略的结构类图 IRule接口中共有三个方法 抽象类AbstractLoadBalancerRule实现了IRule接口,定义了一个ILoadBalancer类型变量,用于ILoadBalancer接口定义了软负载均衡的操作方法。 3、负载均衡策略 3.1、轮询策略 轮询策略在RoundRobinRule类中实现,它将可用服务存储在一个List中,然后定义了一个原子操作类,每次调用就+1,下次调用就把这个值作为List的下标,以此决定要调用哪个服务。 下面是定义,在RoundRobinRule构造函数中,会初始化值为0 3.2、随机策略 随机策略在RandomRule实现,RandomRule定义规则,从现有服务中,随机选择一个服务,具体做法就是根据可选服务数量,选出一个随机数作为下标,获取服务 3.3、根据响应时间分配权重的策略 这个策略由WeightedResponseTimeRule实现,使用这个策略的话,相应.... 有更新! ribbon的几种负载均衡 程序人生
nacos安装准备工作参考spring cloud整合nacos 1、pom引入依赖 主要是spring-cloud-starter-gateway <?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>cn.com.wenyl.alibaba</groupId> <artifactId>gateway</artifactId> <version>1.0-SNAPSH.... 有更新! spring cloud gateway配置 程序人生
1、spring boot的配置文件 一般情况下在application.yml或application.properties中配置项目的配置信息。 除了application的配置文件,还有一个bootstrap的配置文件,bootstrap由父ApplicationContext加载,在application之前被加载,且属性不能被覆盖,主要用于从额外的资源加载配置信息。 使用配置中心,需要在bootstrap文件中配置spring.application.name和配置中心的相关配置,以便于从配置中心获取配置信息。 2、pom引入 <?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.o.... nacos配置中心 nacos
1、nacos简介 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 服务管理:实现服务CRUD,域名CRUD,服务健康状态检查,服务权重管理等功能 配置管理:实现配置管CRUD,版本管理,灰度管理,监听管理,推送轨迹,聚合数据等功能 元数据管理:提供元数据CURD 和打标能力 插件机制:实现三个模块可分可合能力,实现扩展点SPI机制 事件机制:实现异步化事件通知,sdk数据变化异步通知等逻辑 日志模块:管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮助文档 回调机制:sdk通知数据,通过统一的模式回调用户处理。接口和数据结构需要具备可扩展性 寻址模式:解决ip,域名,nameserver、广播等多种寻址模式,需要可扩展 推送通道:解决server与存储、server间、server与sdk间推送性能问题 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制 缓存机制:容灾目录,本地缓存,server缓存机制。.... 有更新! spring cloud整合nacos nacos