envsubst替换环境变量
Envsubst用shell格式字符串中的值替换环境变量。要替换的变量应位于${var}或$var格式。 123456789101112替换环境变量stdin输出到stdout:echo '$HOME' | envsubst将输入文件中的环境变量替换为stdout:envsubst < path/to/input_file将输入文件中的环境变量替换为文件,并将其输出到新文件中:envsubst < path/to/input_file > path/to/output_file用空格分隔的列表,替换输入文件中的环境变量:envsubst '$USER $SHELL $HOME' < path/to/input_fileenvsubst '$USER $SHELL $HOME' < xxx.yaml > xxxx1.yaml
Maven配合fabric8插件整合使用
Maven配合fabric8插件整合使用<谨供参考> 自建镜像仓库并推送到远端123456789<docker.plugin.version>0.35.0</docker.plugin.version><!--docker守护进程uri,一般是自己的docker所在环境:2375--><docker.host>http://localhost:2375</docker.host><!--镜像推送及拉取地址--><docker.registry>docker.io</docker.registry><!-- namespace使用本人docker用户名 --><docker.namespace>xxx</docker.namespace><docker.username>xxx</docker.username><docker.password>xxx</docker.password> 12...
MySQL中EXPLAIN结果的参数详解
MySQL中EXPLAIN结果的参数详解 explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 EXPLAIN列的解释: select_type123456781) SIMPLE:简单的SELECT,不实用UNION或者子查询。2) PRIMARY:最外层SELECT。3) UNION:第二层,在SELECT之后使用了UNION。4) DEPENDENT UNION:UNION语句中的第二个SELECT,依赖于外部子查询。5) UNION RESULT:UNION的结果。6) SUBQUERY:子查询中的第一个SELECT。7) DEPENDENT SUBQUERY:子查询中的第一个SELECT,取决于外面的查询。8) DERIVED:导出表的SELECT(FROM子句的子查询) table1显示这一行的数据是关于哪张表的 type1234567891011121314151617这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型:const、eq_ref、ref、range、index和ALLTy...
mysql5.7安装
MySQL5.7docker安装mysql docker pull mysql:5.7 123456docker run -p 3306:3306 --name mysql \-v /mydata/mysql/log:/var/log/mysql \-v /mydata/mysql/data:/var/lib/mysal \-v /mydata/mysql/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7 vi /mydata/mysql/conf/my.cnf 1234567891011[client]default-character-set=utf8[mysql] default-character-set=utf8[mysqld]init_connect='SET collation_connection=utf8_unicode_ci'init_connect='SET NAMES utf8'characte...
mysql命令行各个参数解释
http://blog.51yip.com/mysql/1056.html mysql命令行各个参数解释123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081Usage: mysql [OPTIONS] [database] //命令方式 -?, --help //显示帮助信息并退出 -I, --help //显示帮助信息并退出 --auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子 -A, --no-auto-rehash //默认状态是没有自动补全功能的。-A就是不要自动补全功能 -B, --batch //ysql不使用历史文件,禁用交互 (Enables --silent) --c...
mysql集群部署
Mysql常见集群方式 Mysql-MMM(mysql主主复制管理器) MHA(Mysql高可用方面是一个相对成熟的方案) InnoDB Cluster(支持自动Failover,强一致性,读写分离,读库高可用,读请求负载均衡,推荐方案) 主从同步创建Master实例并启动123456docker run -p 3307:3306 --name mysql-master \-v /mydata/mysql/master/log:/var/log/mysql \-v /mydata/mysql/master/data:/var/lib/mysql \-v /mydata/mysql/master/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7 参数说明: 123-p 3307:3306:将容器的3306映射到主机的3307端口-v 挂载-e 初始化root用户密码 修改master基本配置123456789101112131415161718vim /mydata/mysql/master/...
时间字段选择
MySQL 5.6 版本开始 DATETIME 和 TIMESTAMP 精度支持到毫秒 DATETIME 占用 8 个字节,TIMESTAMP 占用 4 个字节,DATETIME(6) 依然占用 8 个字节,TIMESTAMP(6) 占用 7 个字节 TIMESTAMP 日期存储的上限为 2038-01-19 03:14:07,业务用 TIMESTAMP 存在风险 使用 TIMESTAMP 必须显式地设置时区,不要使用默认系统时区,否则存在性能问题,推荐在配置文件中设置参数 time_zone = '+08:00' 推荐日期类型使用 DATETIME,而不是 TIMESTAMP 和 INT 类型 表结构设计时,每个核心业务表,推荐设计一个 last_modify_date 的字段,用以记录每条记录的最后修改时间
JWT知识小结
JWT/JWS/JWE/JWK JWT:指的是 JSON Web Token,由 header.payload.signture 组成。不存在签名的JWT是不安全的,存在签名的JWT是不可窜改的。 JWS:指的是签过名的JWT,即拥有签名的JWT。是一个有着简单的统一表达形式的字符串 ,基础三部分 (jwt实现方式之一) JWE:相对于JWS,JWE则同时保证了安全性与数据完整性(性能损失偏大)。JWE由五部分组成(jwt实现方式之一) JWK:既然涉及到签名,就涉及到签名算法,对称加密还是非对称加密,那么就需要加密的 密钥或者公私钥对。此处我们将 JWT的密钥或者公私钥对统一称为 JSON WEB KEY,即 JWK。 JWT工作流程 123456781. 用户登录:提供用户名和密码;2. JWT生成token和refresh_token,返回客户端;(注意:refresh_token的过期时间长于token的过期时间)3. 客户端保存token和refresh_token,并携带token,请求服务端资源;4. 服务端判断to...
gateway网关的使用
Gateway服务网关Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。 网关的核心功能特性: 请求路由 权限控制 限流 架构图: 权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。 路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡。 限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大。 在SpringCloud中网关的实现包括两种: gateway zuul Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于...
关于FeignClient注解中的contextId
contextId的使用一般是调用同一个服务,但是分多个接口 比如调用同一个member服务可以通过contextId来区分开,否则就会报错bean冲突 12345678/** * @author 小五 */@FeignClient(contextId = "MemberAFeign", value = ServiceNameConstants.MEMBER_SERVICE, fallbackFactory = MemberFeignAFallbackFactory.class)public interface MemberAFeign { ...} 12345678/** * @author 小五 */@FeignClient(contextId = "MemberBFeign", value = ServiceNameConstants.MEMBER_SERVICE, fallbackFactory = MemberFeignBFallbackFactory.class)publ...
